在 r 中创建具有分组均值的列
Create column with grouped means in r
所以我有一个国家数据集,其中有一个名为 "country wave" 的变量和另一个名为 "famsaved" 的变量。我想要一个函数,它向集合中添加一个列,为国家/地区波浪类别提供 "famsaved" 的平均值。我知道在 STATA 中函数是 egen AverFamSave = mean(FamSavedThisYr01), by(Country Wave).... 有帮助吗?
我们可以在base R
中使用aggregate
aggregate(FamSavedThisYr01~ Country + Wave, df1, mean, na.rm = TRUE)
如果我们需要创建一个列,使用ave
df1$MeanFamSavedThisYr01 <- with(df1, ave(FamSavedThisYr01, Country, Wave))
所以我有一个国家数据集,其中有一个名为 "country wave" 的变量和另一个名为 "famsaved" 的变量。我想要一个函数,它向集合中添加一个列,为国家/地区波浪类别提供 "famsaved" 的平均值。我知道在 STATA 中函数是 egen AverFamSave = mean(FamSavedThisYr01), by(Country Wave).... 有帮助吗?
我们可以在base R
aggregate
aggregate(FamSavedThisYr01~ Country + Wave, df1, mean, na.rm = TRUE)
如果我们需要创建一个列,使用ave
df1$MeanFamSavedThisYr01 <- with(df1, ave(FamSavedThisYr01, Country, Wave))