阿罗哈,
我正在尝试施放()一个数据集,其中W-X-Y的每个唯一组合返回Z的最大数量和相关的周数。例如:
W X Y week Z
w1 x1 y1 1 0
w1 x1 y1 2 0.1
w1 x1 y1 3 0.2
w2 x2 y1 1 0.5
w2 x2 y1 2 0.7
w2 x2 y1 3 0.3
w3 x1 y1 1 0.1
w3 x1 y1 2 0.2
w3 x1 y1 3 0.5
w4 x2 y2 1 0.7
w4 x2 y2 2 0.3
w4 x2 y2 3 0.1
w5 x1 y2 1 0.3
w5 x1 y2 2 0.1
w5 x1 y2 3 0.2
我能用cast()这样做吗?我能够仅返回每个唯一W-X-Y组合的最大Z数,但不能返回具有以下内容的星期:
cast(foo, W + X + Y ~ ., max, value="Z")
对于上面的数据集,我希望输出看起来像这样:
W X Y week Z
w1 x1 y1 3 0.2
w2 x2 y1 2 0.7
w3 x1 y1 3 0.5
w4 x2 y2 1 0.7
w5 x1 y2 1 0.3
Mahalo的建议!
答案 0 :(得分:3)
cast
不是正确的工具。请考虑plyr
包中的函数:
library("plyr")
ddply(foo, .(W, X, Y), summarise, week=week[which.max(Z)], Z=max(Z))