R - 为什么摘要( a_categorical_var) 不显示"NA"计数?



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

summary(flights["tailnum"])

结果:

tailnum         
Length:336776     
Class :character  
Mode  :character  
特别是,不是显示字符变量tailnum有任意NAs

然而,当我使用sum(is.na(flights$tailnum))时,它显示它有NAs。

[1] 2512

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

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

如果您将变量转换为因子并对其应用summary(),您将获得前98个级别的计数表(后面跟着"其他")目录和NAs数量)。

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))

最新更新