我有一个约有70.000个观测值的数据集。
# A tibble: 71,789 x 31
X1 Profit CTR X2 Cr Pr Riskaversion X2 A098 01 02 incidence_gov_f~ incidence_eth_f~ warhist peaceyears Expop NY.GDP.PCAP.PP.~ SI.POV.GINI
<dbl> <dbl+> <dbl> <dbl+> <dbl> <dbl> <dbl> <dbl+lbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl+lbl> <dbl+lbl>
1 100 NA 35 3 NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
2 100 NA 35 3 NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
3 100 NA 35 4 NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
4 100 NA 35 5 NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
5 20 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
6 10 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
7 15 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
8 18 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
9 8 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
10 6 NA 35 NA NA NA NA NA NA NA NA 0 0 5 1 0.620 4202.208 NA
# ... with 71,779 more rows, and 13 more variables: tottax <dbl>, indiv <dbl>, corp <dbl>, indirect <dbl>, gst <dbl>, trade <dbl>, tottax_d <dbl>, indiv_d <dbl>, corp_d <dbl>,
# indirect_d <dbl>, gst_d <dbl>, trade_d <dbl>, matchcode <fct>
但是,此数据集缺少很多内容。如果我想在回归中使用所有感兴趣的变量,最终我将没有任何完整的观察结果(因此也就没有回归)。尽管可能不是最科学的解决方案,但为了获得一些初步结果,我想确定数据集中的瓶颈。
显然,第一步将是排除观察次数最少的变量,
dataobs <- as.data.frame(colSums(!is.na(data))) # Get observations
但是这并不能使我走的太远。我想根据其他变量来衡量缺失。
我正在考虑什么是最好的方法以及如何在R中实现它。
有什么想法吗?
编辑:不,我不想删除数据集中的NA。
编辑2:我想第二步还是很明显的。我应该以某种方式使它:
dataobs <- as.data.frame(colSums(!is.na(data)))
以因变量为条件。