我正在寻找为R中的CSV文件读取的不同值和组创建箱图的最方便方法。
首先,我将我的工作表读入内存:
Sheet <- read.csv("D:/mydata/Table.csv", sep = ";")
哪种方法正常。
names(Sheet)
正确地给了我不同专栏的标题。
我还可以访问不同的组并将其过滤到单独的列表中,例如
myData1 <- Sheet[Sheet$Group == 'Group1',]$MyValue
myData2 <- Sheet[Sheet$Group == 'Group2',]$MyValue
...
并使用
绘制一个箱线图boxplot(myData1, myData2, ..., main = "Distribution")
其中......代表我使用上面的选择方法填充的更多列表。
但是,我已经看到使用一些公式可以一次性完成选择和箱子绘图的这些步骤。但是当我使用像
这样的东西时boxplot(Sheet~Group, Sheet)
它不起作用,因为我收到以下错误:
变量'Sheet'的无效类型(列表)
CSV中的数据如下所示:
No;Gender;Type;Volume;Survival
1;m;HCM;150;45
2;m;UCM;202;103
3;f;HCM;192;5
4;m;T4;204;101
...
所以我有多个可能的组和不同的值,我想将它们表示为每个组的方框图。例如,我可以按性别分组或按类别分组。
如何从CSV数据中轻松绘制多个框,而无需手动从数据中抓取所有框?
感谢您的帮助。
答案 0 :(得分:2)
试试这样:
Sheet <- data.frame(Group = gl(2, 50, labels=c("Group1", "Group2")),
MyValue = runif(100))
boxplot(MyValue ~ Group, data=Sheet)
答案 1 :(得分:1)
使用ggplot2
:
ggplot(Sheet, aes(x = Group, y = MyValue)) +
geom_boxplot()
使用ggplot2
的优势在于您可以自定义箱图的外观。