【问题标题】:How do I aggregate by group and add the column to the dataframe? [duplicate]如何按组聚合并将列添加到数据框中? [复制]
【发布时间】:2017-11-20 10:15:56
【问题描述】:

在 Rstudio 中使用此 data。我需要创建一个新的df,其平均值为lwage76,由ed76regional.dummies分组;此外,df 需要包含这些相应组中的观察值总和。这是我目前所拥有的:

agglwage <- aggregate(lwage76 ~ regional.dummies + ed76, nlsdata, mean) 
 head(agglwage )

#    regional.dummies ed76  lwage76
#1                  7    1 6.214608
#2                  6    2 5.682503
#3                  2    3 5.746203

到目前为止一切顺利。

dfcount <- count(nlsdata, c("regional.dummies", "ed76"))                                                                                                                                     
head(dfcount, n=3)

#  regional.dummies ed76 freq
#1                1    7    2
#2                1    9    4
#3                1   10    6

我想我现在可能可以合并两个 df,但我认为必须有更有效的方法来做到这一点?

【问题讨论】:

标签: r aggregate


【解决方案1】:

我们可以使用dplyr。按'regional.dummies'和'ed76'分组后,得到'lwage76'的行数(n())和mean

library(dplyr)
nlsdata %>%
      group_by(regional.dummies, ed76) %>%    
      summarise(freq = n(), lwage76 = mean(lwage76, na.rm = TRUE))

【讨论】:

    猜你喜欢
    • 2015-10-22
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2017-09-29
    • 2020-08-21
    • 2022-12-22
    相关资源
    最近更新 更多