将一组按手段添加到原始数据 [英] Adding a column of means by group to original data
本文介绍了将一组按手段添加到原始数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想根据 R
data.frame
中的因子列添加一列手段。像这样:
I want to add a column of means based on factor column in R
data.frame
. Like this:
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
。感谢您的时间和帮助。
To accomplish this problem I've to create two unnecessary data.frames
. I'd like to know a way to append a column of means by factor column into my original data.frame
without creating any extra data.frames
. Thanks for your time and help.
推荐答案
这是 ave
功能用于。
df1$Y.New <- ave(df1$Y, df1$X)
这篇关于将一组按手段添加到原始数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文