所以这是一个简单的问题,我不清楚这个plyr电话出了什么问题。
library(plyr)
一些具有二项式结果的愚蠢数据(y1
)和两个四级分类因子(x1
和x2
):
df <- data.frame(x1 = sample(letters[1:4], 4000,T),
x2 = sample(LETTERS[5:8], 4000,T),
y1 = rbinom(n=4000,1,.5))
我想要一张表格,其中包含每个结果的行比例 - 我认为以下内容可行
foo <- ddply(df, .(x1,x2), function(i) prop.table(table(i$y1),1))
但它给了我:
head(foo)
x1 x2 0 1
1 a E 1 1
2 a F 1 1
3 a G 1 1
4 a H 1 1
5 b E 1 1
6 b F 1 1
这显然不是我想要的。我的遗漏是什么?
答案 0 :(得分:4)
试
foo<-ddply(df, .(x1,x2), function(i) prop.table(table(i$y1)))
> head(foo)
x1 x2 0 1
1 a E 0.5365854 0.4634146
2 a F 0.4936170 0.5063830
3 a G 0.5176471 0.4823529
4 a H 0.4568966 0.5431034
5 b E 0.4780702 0.5219298
6 b F 0.5617530 0.4382470
不确定那是不是你想要什么