求助:按变量分组统计有效(非NA)观测值的R语言实现方法
统计变量有效观测值的解决方案
你可以在dplyr的summarize函数里,通过sum(!is.na(var))来统计变量var的有效观测值(即排除NA的样本量)。如果需要同时保留名义样本量,代码如下:
df %>% group_by(country) %>% summarize( 名义样本量 = n(), var有效观测数 = sum(!is.na(var)) )
代码说明
!is.na(var)会将var中非缺失值的观测转换为逻辑值TRUE(对应数值1),缺失值转换为FALSE(对应数值0)sum()函数对这些逻辑值求和,最终得到每个国家下var的有效观测数量
如果只需要单独统计有效观测数,也可以先过滤掉NA再计数:
df %>% filter(!is.na(var)) %>% group_by(country) %>% summarize(var有效观测数 = n())
内容的提问来源于stack exchange,提问作者SpecialK201
相关产品推荐
相关产品推荐

