4
単純な例。合計の代わりにキャスト/メルトを使ってパーセンテージのデータフレームを作成したいと思います。溶融/キャストを使用した合計の代わりにパーセンテージを作成
例。
eg <- data.frame(
Time = factor(c(1,2,1,2)),
A1 = c(0, 0, 1, 1),
A2 = c(1, 1, 1, 1),
B1 = c(0, 0, 0, 0)
)
eg.m <- melt(eg,id="Time")
eg.c <- cast(eg.m,Time ~ variable, sum, margins="grand_row")
上記の例では、合計と合計を生成できます。合計を生成するのではなく、各セルのパーセンテージ、すなわちcell/gran_rowの合計を生成する手段がありますか?私はddplyを使ってここでいくつかのことをやり直すことができると知っていますが、より洗練されたソリューションがあるかどうか疑問に思っています。ここで
は私が探しているものの例です:
Time A1 A2 B1
1 1 0.5 0.5 0
2 2 1.0 1.0 0
最終的なdata.frameがどのように見えるかの例を投稿できますか? –
私はそれを列の値の合計を合計で割ったものにしたいと思います。したがって、合計ではなく、cumsum/totalです。上記のデータを使用すると、列2またはA1の場合は0.5,1、列3またはA2の場合は0.5,1、列4の場合は0,0または – Dave
@davewolfs @davewolfsコメントに説明する代わりにgsk3が要求したように質問の最後に実際にサンプルのデータフレームを追加する方が効率的でした。 – Dason