将n()与summary_all一起使用
工作正常:将n()与summary_all一起使用,r,dplyr,tidyverse,summarize,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_al
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
请告知。我想要这个功能,因为我想计算未丢失的观测值。正如Rohit指出的,length将计算所有行,包括缺少的OB。所以我最后做的是:
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)
您可以使用
length
而不是n
了解,对于命名函数向量中的每个函数,summary\u all
使用数据作为其第一个参数调用函数。因此,虽然mean(x)
(或者更恰当地说,mean(c(1,2,5,22,…)
)有意义,n(…)
没有意义,因为n()
不带参数。您可以随时定义my\n将n()
与summary\u all()
一起使用有什么意义n()
返回行数,我估计所有列的行数都相同。谢谢