2

したがって、これは単純な質問であり、このplyr呼び出しで何が問題になっているのかは私にはわかりません。

library(plyr)

y1二項結果( )と2つの4レベル分類因子(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

これは明らかに私が探しているものではありません。私の省略は何ですか?

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 に答える