【问题标题】:Create column with grouped means in r在 r 中创建具有分组均值的列
【发布时间】:2020-09-18 05:49:09
【问题描述】:

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

【问题讨论】:

  • 欢迎来到 SO! How do I ask a good question?
  • 如果你有 dplyr 包,它是 tidyverse 的一部分,你可以使用 group_by()summarize() 函数的组合。

标签: r mean dplyr


【解决方案1】:

我们可以在base R中使用aggregate

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

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

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

【讨论】:

  • 这行得通,但我可以在新列中编码,以便在每个观察值中显示值吗?
  • @JuanCamiloRomero 你可以使用ave,默认函数是mean
猜你喜欢
  • 2020-08-22
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 2015-08-24
相关资源
最近更新 更多