如何使用dplyr汇总来获取R中组的N?

时间:2015-07-17 18:40:08

标签: r dplyr

我有一个如下所示的数据框:

Company.Name    Rating1 Rating2 Rating3
CompanyA    NA 4.2  NA
CompanyB    1.2 1.2 1.5
CompanyA    1.4 NA  3.4
CompanyD    2.2 NA  4.3
CompanyC    1.9 1.7 2.4
CompanyB    NA  1.8 NA
CompanyA    4.2 3.2 NA
CompanyB    NA  2.1 4.4

我想要做的是在第一列中创建每个唯一公司名称的新数据框;汇总每个唯一的公司名称每个评级的平均值和完整评级的数量(非NA的评级数),并通过一个函数调用执行此操作。

我知道使用dplyr包这个函数会得到手段,

summarize(group_by(Data, Company.Name),
    Rating1_Avg = mean(Rating1, na.rm = TRUE), 
    Rating2_Avg = mean(Rating2, na.rm = TRUE), 
    Rating3_Avg = mean(Rating3, na.rm = TRUE) )

但如何获得完整评分的数量?

1 个答案:

答案 0 :(得分:7)

尝试

library(dplyr)
df1 %>%
  group_by(Company.Name) %>% 
  summarise_each(funs(Avg=mean(., na.rm=TRUE), complete=sum(!is.na(.))))