在Rstudio中使用此data。我需要创建一个新的df,其平均值lwage76
按ed76
和regional.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,但我认为必须有更有效的方法来实现这个目标吗?
答案 0 :(得分:2)
我们可以使用dplyr
。按“regional.dummies”和“ed76”分组后,获取“lwage76”的行数(n()
)和mean
library(dplyr)
nlsdata %>%
group_by(regional.dummies, ed76) %>%
summarise(freq = n(), lwage76 = mean(lwage76, na.rm = TRUE))