2

所以这是一个简单的问题,我不清楚这个 plyr 调用出了什么问题。

library(plyr)

一些带有二项式结果(y1)和两个四级分类因子(x1x2)的愚蠢数据:

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

这显然不是我想要的。我的遗漏是什么?

4

1 回答 1

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

不知道这是否是你想要的

于 2012-06-26T04:10:38.983 回答