如何用dplyr的summarize_if函数按列统计非NA值数量?
统计数值型列的非缺失行数量
你的代码无法正确执行,问题在于summarize_if的函数参数需要针对每一列做判断,原代码里的sum(!is.na())没有指定要检查的列。另外summarize_if已被dplyr弃用,推荐使用更灵活的across函数实现需求:
data(mtcars) mtcars %>% summarize(across(where(is.numeric), ~sum(!is.na(.))))
如果你的dplyr版本较低,也可以用summarize_if的正确写法:
mtcars %>% summarize_if(is.numeric, ~sum(!is.na(.)))
或者用常规函数写法:
mtcars %>% summarize_if(is.numeric, function(col) sum(!is.na(col)))
内容的提问来源于stack exchange,提问作者Muhammad Kamil
相关产品推荐
相关产品推荐

