为分类变量的组合生成箱线图

时间:2014-08-10 22:41:12

标签: r data-visualization categorical-data boxplot

我如何做以下事情?

在单个图中,我想创建多个箱形图,每个X变量是下面显示的分类变量的组合。

data(mtcars)
# y variable is mpg
mtcars$vs  = as.factor(mtcars$vs)
mtcars$cyl = as.factor(mtcars$cyl)

2 个答案:

答案 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)

enter image description here

(假设我有“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)。因此,除非您有足够的数据可用于每种可能的组合,否则最终结果可能看起来不那么好......