关于R中使用ggplot2的两个因素的箱线图


13

我对R和R中的任何软件包都是新手。我查看了ggplot2文档,但找不到此文件。我想要boxthis关于两个因子f1和的变量的箱形图f2。那是假设f1f2都是因子变量,并且每个变量都有两个值,并且boxthis是连续变量。我想要得到的曲线图4个箱图,每个对应于一个组合从所述可能的组合f1f2可以采取。我认为使用R中的基本功能,可以通过

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

在此先感谢您的帮助。


请提供示例数据,以便获得准确的答案。
mpiktas,2011年

2
这个问题几乎肯定可以更好地适合stackoverflow.com,因为此处没有专门的统计信息。
richiemorrisroe 2011年

Answers:


23

我可以想到两种方法来实现此目的:

1.创建的所有组合f1f2外面的ggplot-功能

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

在此处输入图片说明

2.使用颜色/填充/等。

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

在此处输入图片说明


4
(+1)我喜欢使用interaction()。值得注意的是,我们可以指定geom_boxplot(position = position_dodge(width = .9))在框线图之间添加额外的空间。
chl

1
您还可以dodgeggplot函数中使用 参数ggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
Maciej,2014年

0

这是另一种方式:

ggplot(datasetname) + boxplot(aes(x=as.factor(f1),y=boxthis)) + facet_wrap(~as.factor(f2), nrow=5)

提供如下内容:

多面箱图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.