我想在R
data.frame
的基础上添加一列基于因子列的均值。像这样:向原始数据中添加一列分组方法
df1 <- data.frame(X = rep(x = LETTERS[1:2], each = 3), Y = 1:6)
df2 <- aggregate(data = df1, Y ~ X, FUN = mean)
df3 <- merge(x = df1, y = df2, by = "X", suffixes = c(".Old",".New"))
df3
# X Y.Old Y.New
# 1 A 1 2
# 2 A 2 2
# 3 A 3 2
# 4 B 4 5
# 5 B 5 5
# 6 B 6 5
要完成这个问题,我必须创建两个不必要的data.frames
。我想知道一种方法,可以在原始data.frame
中添加一列按因子列的方式,而不会创建任何额外的data.frames
。感谢您的时间和帮助。
这就是我一直在寻找。谢谢 – MYaseen208