我如何做以下事情?
在单个图中,我想创建多个箱形图,每个X变量是下面显示的分类变量的组合。
data(mtcars)
# y variable is mpg
mtcars$vs = as.factor(mtcars$vs)
mtcars$cyl = as.factor(mtcars$cyl)
答案 0 :(得分:2)
如果你的意思是单个情节与两个因素的所有组合(发动机形状(V / S)和气缸),那么就像这样:
with(mtcars,boxplot(mpg~interaction(as.factor(ifelse(vs,"S","V")),as.factor(cyl))))
abline(v=c(2.5,4.5),col=8)
(假设我有“S”和“V” - 用于“直”和“vee”引擎配置 - 正确的方法;如果R实现与Hocking的1976年论文一致 - 如第一页所述{{ 3}} - 我认为应该是对的)
答案 1 :(得分:1)
你的意思是:
data(mtcars)
y <- mtcars$mpg
vs <- as.factor(mtcars$vs)
cyl <- as.factor(mtcars$cyl)
par(mfrow=c(1,2))
plot(formula = y ~ cyl + vs)
同样,您可以这样使用lattice
包:
require(lattice)
bwplot( ~ y | vs + cyl)
注意:这种情节的唯一问题是结果实际上是6个情节中的一个(因为&#34; vs&#34有2个等级;&#34;&#3为* 3 34)。因此,除非您有足够的数据可用于每种可能的组合,否则最终结果可能看起来不那么好......