在没有ddply和合并的情况下计算“组特征”

我想知道是否有一种更直接的方式来计算某种类型的变量而不是我通常采用的方法….

下面的例子可能最好地解释了它.我有一个2列的数据框(水果和水果是否腐烂).我想,对于每一行,添加例如腐烂的同一类水果的百分比.例如,苹果有4个条目,其中2个是烂的,因此苹果的每一行应为0.5.目标值(纯粹作为说明)包含在“期望结果”列中.

我之前已经解决了这个问题

*在fruit变量上使用“ddply”命令(以sum / lenght为函数),创建一个新的3 * 2数据帧

*使用“merge”命令将这些值链接回旧数据帧.

这感觉就像一个迂回的方式,我想知道是否有更好/更快的方式这样做!理想的是一种通用的方法,如果一个而不是百分比需要确定所有的水果都烂了,任何水果都烂了等等….

提前谢谢了,

w ^

Fruit Rotten Desired_Outcome_PercRotten
1   Apple      1                        0.5
2   Apple      1                        0.5
3   Apple      0                        0.5
4   Apple      0                        0.5
5    Pear      1                       0.75
6    Pear      1                       0.75
7    Pear      1                       0.75
8    Pear      0                       0.75
9  Cherry      0                          0
10 Cherry      0                          0
11 Cherry      0                          0

#create example datagram; desired outcome columns are purely inserted as illustrative of target outcomes
Fruit=c(rep("Apple",4),rep("Pear",4),rep("Cherry",3))
Rotten=c(1,1,0,0,1,1,1,0,0,0,0)
Desired_Outcome_PercRotten=c(0.5,0.5,0.5,0.5,0.75,0.75,0.75,0.75,0,0,0)
df=as.data.frame(cbind(Fruit,Rotten,Desired_Outcome_PercRotten))        
df
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章