首页 > 解决方案 > 在 r 中创建具有分组均值的列

问题描述

所以我有一个国家数据集,其中有一个名为“country wave”的变量和另一个名为“famsaved”的变量。我想要一个向集合添加一列的函数,该函数为我提供国家波类别的“famsaved”平均值。我知道在 STATA 中,函数是 egen AverFamSave = mean(FamSavedThisYr01), by(Country Wave).... 有帮助吗?

标签: rmeandplyr

解决方案


我们可以用aggregatebase R

aggregate(FamSavedThisYr01~ Country + Wave, df1, mean, na.rm = TRUE)

如果我们需要创建列,请使用ave

df1$MeanFamSavedThisYr01 <- with(df1, ave(FamSavedThisYr01, Country, Wave))

推荐阅读