以下代码将根据“group”分别生成
您会如何建议继续以便通过单个命令获得相同的结果?(我想必须采用
非常感谢。
x
和y
的组平均值。假设我有多个变量需要重复执行相同的操作。您会如何建议继续以便通过单个命令获得相同的结果?(我想必须采用
tapply
,但我不是很确定..)。x=seq(1,11,by=2); y=seq(2,12,by=2); group=rep(1:2, each=3)
dat <- data.frame(cbind(group, x, y))
dat$m_x <- ave(dat$x, dat$group)
dat$m_y <- ave(dat$y, dat$group)
dat
非常感谢。
ave
创建了一个新矩阵,其中每列都已被修改。如果您需要将其放入数据框中(或需要将其放入原始数据框中),那么修改起来非常简单。 - David Robinsonsapply(dat,ave,dat$group)
。不过,我建议使用plyr::ddply
或者data.table
来完成这个任务。 - Roland