2

使用 plyr 时,我经常想要 1) 仅对变量的子集执行操作,以及 2) 命名操作的输出。例如:

d = data.frame(sex=c("m","f","m","m","f","f"), age=c(30,20,15,50,10,40), weight=c(130,120,115,150,90,180))
ddply(d, .(sex), function(df) data.frame(age_mu = mean(df$age)))

但这似乎有点笨拙,似乎我应该能够写出类似的东西:

ddply(d, .(sex), age_mu = mean(age))

从我读过的内容来看,plyr 中似乎有(或曾经有过?)一个汇总函数,这将允许我编写:

ddply(d, .(sex), transform, age_mu = mean(age))

但是,当我尝试使用 summarise 函数时,R 告诉我它不存在。它是否已被重命名或移动到另一个包中?我在 Mac 上使用 plyr 版本 0.1.5(我相信它是最新的——我尝试过更新)。

4

1 回答 1

2

是的,它仍然存在。我使用的是 plyr 1.1 版,所以你的版本似乎很旧。

于 2010-09-03T06:35:49.690 回答