我正在尝试绘制多个变量(表格中的列)的箱线图,将主题分组为cl.med中的水平。
这就是我的尝试:
boxplot(scfa[,c("acetate","propionate")]~as.factor(cl.med),outline=FALSE)
这是我的表:
aceticacid.methylester.1 acetate butyrate fumarate caprate propionate X3phenylpropionate valerate formate
01.BA.V 4.509 0.1430 0.0168 4e-04 0.0080 0.0174 0.0008 0.0030 5e-04
01.BA.VG 2.750 0.2736 0.0228 4e-04 0.0047 0.0261 0.0012 0.0014 4e-04
01.BO.VG 15.281 0.1667 0.0159 6e-04 0.0049 0.0191 0.0008 0.0011 4e-04
01.PR.O 0.317 0.2470 0.0327 4e-04 0.0078 0.0293 0.0006 0.0016 4e-04
01.TO.VG 0.210 0.1406 0.0186 4e-04 0.0034 0.0161 0.0006 0.0026 6e-04
这是我的班级载体
01.BA.VG 01.BO.VG 01.PR.O 01.TO.VG 02.BA.VG
1 2 3 1 3 2
这会生成3个框(对于预期的3个类),但这两个变量是合并的。我怎么能修改它为每个变量获得3个盒子?
由于
答案 0 :(得分:0)
你的代码真的不应该工作,而不是产生3个盒子。通常,您必须使用add=TRUE
参数一次添加一个图:
boxplot(scfa[,c("acetate")]~as.factor(cl.med), outline=FALSE, ylim=c(0, 0.3))
boxplot(scfa[,c("propionate")]~as.factor(cl.med), outline=FALSE, add=TRUE)
答案 1 :(得分:0)
你要么需要融化'或者'堆叠'您的数据,以便堆叠2个响应列。或者自己拆分数据。以下是第二个选项的示例:
tmp <- split(iris[,c('Sepal.Width','Petal.Width')], iris$Species)
tmp2 <- unlist(tmp, recursive=FALSE)
boxplot(tmp2)