У меня есть набор данных с около 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)))
условной зависимой переменной.