簡単な例。合計の代わりにキャスト/メルトを使用してパーセンテージのデータ フレームを作成したいと思います。
例。
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 と reshape を使用していくつかのことができることはわかっていますが、もっとエレガントな解決策があるかどうか疑問に思っています。
これが私が探しているものの例です:
Time A1 A2 B1
1 1 0.5 0.5 0
2 2 1.0 1.0 0