我是R的新手,并且已经开始欣赏ggplot2和plyr的优雅.现在,我正在尝试分析一个我不能在这里分享的大型数据集,但我用钻石数据集重建了我的问题(为方便起见缩短了).无需再费周折:
diam <- diamonds[diamonds$cut=="Fair"|diamonds$cut=="Ideal",]
boxplots <- ggplot(diam, aes(x=cut, price)) + geom_boxplot(aes(fill=cut)) + facet_wrap(~ color)
print(boxplots)
Run Code Online (Sandbox Code Playgroud)

情节产生的是一组箱图,比较两个削减"公平"和"理想"的价格.
我现在非常希望通过t.test或wilcox.test统计比较每个颜色子组(D,E,F,..,J)的两个切割.
我将如何以与ggplot2-syntax一样优雅的方式实现它?我假设我会使用plyr-package中的ddply,但我无法弄清楚如何将两个子组提供给计算相应统计信息的函数.
Ben*_*ker 12
我想你正在寻找:
library(plyr)
ddply(diam,"color",
function(x) {
w <- wilcox.test(price~cut,data=x)
with(w,data.frame(statistic,p.value))
})
Run Code Online (Sandbox Code Playgroud)
(代t.test的wilcox.test似乎很好地工作了.)
结果:
color statistic p.value
1 D 339753.5 4.232833e-24
2 E 591104.5 6.789386e-19
3 F 731767.5 2.955504e-11
4 G 950008.0 1.176953e-12
5 H 611157.5 2.055857e-17
6 I 213019.0 3.299365e-04
7 J 56870.0 2.364026e-01
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5307 次 |
| 最近记录: |