我有一个看起来像这样的数据框:
pred1 pred2 pred3 exp
a b c 0
a d c 0
a b c 1
我想做的是首先获取pred1-3的所有唯一组合,将它们写入一个附加表,为每个组合的频率添加一列,并添加另一列给出exp值1的比例(每个组合只能是 0 或 1)。像这样的东西:
pred1 pred2 pred3 freq exp_prop
a b c 2 0.5
a d c 1 0
使用 plyr,前三个步骤变得非常简单:
ddply(df, .(pred1, pred2, pred3), summarise, freq=length(exp))
或更短
count(df[,c(pred1, pred2, pred3)])
但我只是不知道如何获得 exp 的比例。