简单的例子。我想使用 cast/melt 而不是总和来创建一个百分比数据框。
例子。
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")
在上面的例子中,我可以产生总和。除了产生总和之外,是否有一种方法可以产生每个单元格中的百分比,即单元格/gran_row 的总和?我知道我可以在这里使用 ddply 和 reshape 做一些事情,但想知道是否有更优雅的解决方案。
这是我正在寻找的示例:
Time A1 A2 B1
1 1 0.5 0.5 0
2 2 1.0 1.0 0