我正在尝试获取数据框中每个子集的平均值,并将该信息合并到一列中。
我可以用 lapply 做到这一点,但我不能让它“坚持”。是否存在具有副作用的 apply 系列函数的变体?plyr 库中的任何内容都可以。
data <- data.frame(
A = sample(LETTERS[1:3], 20, replace=TRUE),
B = runif(20),
C = LETTERS[1:20])
# split by A
dataByA <- split(data, factor(data$A))
# get average of B per set
lapply(dataByA, function(df) {df$Bmean <- mean(df$B)}) # does nothing!
# remerge subsets
data <- rbind.fill(dataByA)
谢谢