繁体   English   中英

为什么 summary( a_categorical_var) 不显示“NA”计数?

[英]why summary( a_categorical_var) does not show "NA" counts?

我想检查我的数据集 - 航班,并使用summary() function。

summary(flights["tailnum"])

结果:

   tailnum         
 Length:336776     
 Class :character  
 Mode  :character  

特别是,它没有显示字符变量tailnum有任何 NA。

但是,当我使用sum(is.na(flights$tailnum))时,它显示它有 NA。

[1] 2512

什么是最好的 function 检查分类变量 - 显示其水平、缺失值、总行数和每个水平的频率?

显然,字符变量的summary()方法不报告 NA。 (这似乎有点不一致,可能值得在r-devel@r-project.org邮件列表上报告/讨论...)

如果您将变量转换为一个因子并专门对其应用summary() ,您将获得前 98 个级别的计数表(后跟“其他”类别和 NA 的数量)。

summary(factor(flights$tailnum))

如果你真的想要一个完整的表格:

tt <- table(flights$tailnum, useNA = "ifany")
print(tt)

虽然length(tt)是 4044,告诉你有 4043 个不同的非 NA 值(+ NA值): head(table(tt))tail(table(tt))告诉你有数百个值出现只有几次,以及出现数百(或数千)次的少数值。

如果您正在使用 tidyverse 并希望将所有字符变量转换为因子:

flights %>% mutate(across(where(is.character), factor))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM