在summarise_all中使用n()

时间:2019-04-25 03:29:01

标签: r dplyr tidyverse summarize

工作正常:

stats = c('mean', 'median', 'sd', 'max', 'min')
sumtable = iris %>% select(-Species) %>%  summarise_all(.funs = stats)

不起作用:

stats = c('mean', 'median', 'sd', 'max', 'min', 'n')
sumtable = iris %>% select(-Species) %>% summarise_all(.funs = stats)
Error in summarise_impl(.data, dots) : `n()` does not take arguments

请告知。

1 个答案:

答案 0 :(得分:1)

我想要此功能是因为我想计算不遗漏的观察值。正如罗希特(Rohit)指出的,长度将计算所有行,包括丢失的obs。所以我最后要做的是:

not.na = function(x) {sum(!is.na(x))}
stats = c('mean', 'median', 'sd', 'max', 'min', 'not.na')
sum.acs = acs %>% group_by(year) %>% summarise_all(.funs = stats)