【发布时间】:2013-04-02 14:04:59
【问题描述】:
我有一个与Calculate "group characteristics" without ddply and merge相关的后续问题
我有一个类似的数据框(如下所示),但试图计算同一类别中其他水果中腐烂水果的百分比。因此,我不应该考虑所讨论的水果本身是否腐烂。希望下面的数据框可以澄清这一点,所需的结果列纯粹是为了示例目的而插入的。
理想情况下,我想使用 ddply(沿着 ddply(df, .(Fruit), mutate, Perc = sum(Rotten)/length(Rotten)) 的行)。但是,我无法找到一种方法来仅考虑同一组中其他行的值。我想我可以根据相关行的值使用 if 语句的组合,但我想知道是否有更优雅的方法来实现这一点?非常感谢,W
Fruit Rotten Desired_Outcome
1 Apple 1 0.33
2 Apple 1 0.33
3 Apple 0 0.66
4 Apple 0 0.66
5 Pear 1 0.66
6 Pear 1 0.66
7 Pear 1 0.66
8 Pear 0 1.00
9 Cherry 0 0.00
10 Cherry 0 0.00
11 Cherry 0 0.00
12 Banana 1 NA
Fruit=c(rep("Apple",4),rep("Pear",4),rep("Cherry",3),"Banana")
Gender=c(rep("Male",3),rep("Female",3))
Rotten=c(1,1,0,0,1,1,1,0,0,0,0,1)
Desired_Outcome=c(0.33,0.33,0.66,0.66,0.66,0.66,0.66,1,0,0,0,NA)
df=data.frame(Fruit,Rotten,Desired_Outcome)
df
【问题讨论】:
-
非常感谢。有点愚蠢,我没有想到这一点。非常感谢您向我指出这一点。
-
您在问题上留下了 another 评论,而不是 Justin 的回答(我是 joran,顺便说一句,不是 Justin),这一事实让我相信您确实需要花点时间让自己对这个网站如何运作的一些基本机制不感到困惑。它将帮助您获得帮助,因为目前贾斯汀不知道您正在尝试与他交谈。
-
道歉 - 我打算在写完评论后立即删除。感谢指导 - 将阅读常见问题解答