私はこれを説明するのが苦労していますので、例題で説明するのが一番です(貧しい質問のタイトルからも分かるように)。は、因子に基づいてデータフレームの操作を実行します。
dplyrを使用すると、私はgroup_by
とsummarize
という結果を得ています。私は、因子によるさらなる操作をしたいデータフレームを持っています。
> df <- data.frame(run=as.factor(c(rep(1,3), rep(2,3))),
group=as.factor(rep(c("a","b","c"),2)),
sum=c(1,8,34,2,7,33))
> df
run group sum
1 1 a 1
2 1 b 8
3 1 c 34
4 2 a 2
5 2 b 7
6 2 c 33
私はrun
に依存する値でsum
を分割したい:例として
> total <- data.frame(run=as.factor(c(1,2)),
total=c(45,47))
> total
run total
1 1 45
2 2 47
をその後、私の最後のデータフレームは、次のようになります。私は手動手でpercent
列に分数を挿入
> df
run group sum percent
1 1 a 1 1/45
2 1 b 8 8/45
3 1 c 34 34/45
4 2 a 2 2/47
5 2 b 7 7/47
6 2 c 33 33/47
は私が望む動作にを表示します行う。
おそらくmutate
でこれを行ういくつかのdplyrの方法がありますが、私はすぐにそれを把握できないようです。これはどのように達成されるでしょうか?
のdf $パーセント< - DFの$合計/総[DFの$ラン、 '総'] – HubertL
非常にエレガントなHubertL。あなたが答えとして投稿するなら、私は受け入れます。これは、私が 'mutate'で想像していたよりも簡単です(ただし動作します)。 –