我想检查我的数据集-航班,并使用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))