1

ddply とマージを使用せずに「グループ特性」を計算するに関連するフォローアップの質問があります

私は同様のデータフレームを持っています(以下のとおり)が、同じカテゴリの他の果物の中で腐った果物の割合を計算しようとしています. したがって、問題の果物自体が腐っているかどうかを考慮に入れる必要はありません。以下のデータフレームでこれが明確になることを願っています。目的の結果列は、例として純粋に挿​​入されています。

理想的には、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
4

1 に答える 1