r - 识别具有最少缺失值的变量
问题描述
我有一个由 339 个可能的自变量和 7700 个观察值组成的数据集。我使用了 Amelia 包(我在 R 中编程)来可视化我的数据的缺失值,这就是我得到的。
我希望为我的回归选择我用棕色矩形表示的变量。但由于我有 339 个变量,x 轴上的标签是不可读的,我不知道哪些是这些变量。我已经尝试过 x.cex=0.1 和 x.cex=0.01 但标签变得太小而无法阅读。我的问题是如何识别棕色矩形中的变量?
解决方案
这是一种方法:
data <- as.data.frame(setNames(replicate(10,sample(c(1,NA),1000,replace=TRUE),simplify = FALSE),LETTERS[1:10]))
head(data)
# A B C D E F G H I J
# 1 NA NA NA 1 1 NA NA 1 1 1
# 2 1 1 NA 1 1 NA 1 NA 1 NA
# 3 1 1 NA 1 1 NA 1 1 NA 1
# 4 NA 1 1 NA 1 1 1 1 NA NA
# 5 1 NA NA NA NA 1 NA 1 NA NA
# 6 1 1 1 NA NA 1 NA NA 1 1
x <- stack(sapply(data,function(x) sum(is.na(x))))
head(x[order(x$values),])
# values ind
# 7 476 G
# 3 478 C
# 8 481 H
# 10 489 J
# 4 499 D
# 2 500 B
那将tidyverse
是:
library(tidyverse)
data %>%
gather %>%
group_by(key) %>%
summarize(NAs = sum(is.na(value))) %>%
arrange(NAs) %>%
head
# # A tibble: 6 x 2
# key NAs
# <chr> <int>
# 1 G 476
# 2 C 478
# 3 H 481
# 4 J 489
# 5 D 499
# 6 B 500
推荐阅读
- javascript - 如何使 javascript 重新确认正在点击测验应用程序的正确答案?
- python - 我收到此错误消息:无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('float64')
- reactjs - useSelector 和 reselect ,哪一个对性能有益
- c# - 在没有身份的 ASP.NET Core 中配置 Twitter 外部身份验证
- sql - 计算满足特定条件的 postgreSQL 表中的项目
- json - 如何在 Angular 中从 xml2js 访问 JSON 对象?
- c++ - 在新表达式中抛出构造函数?
- android - Nd4j (Deeplearning4J) 是否太大而无法在 Android 移动应用程序中实际使用?
- angular - 在不打开新选项卡/窗口的情况下提交表单(Angular)
- ios - 使用正确的版本自动安装 CocoaPods