我有一个数据集,包含339个可能的独立变量和7700个观察值。我使用了Amelia程序包(我正在用R编程),以便可视化数据的缺失值,这就是我所得到的。
我希望为回归选择我用棕色矩形表示的变量。但是由于我有339个变量,因此x轴上的标签不可读,我也不知道这些变量是哪个。我已经尝试过x.cex = 0.1和x.cex = 0.01,但是标签变得太小而无法阅读。我的问题是如何识别棕色矩形中的变量?
答案 0 :(得分:1)
这是一种实现方法:
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