2016-12-18 2 views
0

Я новичок в мире статистики, поэтому некоторые простые предложения будут признаны ...множественной линейной регрессии обрабатывать NA

У меня есть кадр данных в R

Ganeeshan

Year General OBC  SC ST VI VacancySC VacancyGen VacancyOBC Banks Participated VacancyST VacancyHI 
1 2016 52.5 52.5 41.75 31.50 37.5  1338  4500  2319     20  665  154 
2 2015 76.0 76.0 50.00 47.75 36.0  1965  6146  3454     23  1050  270 
3 2014 82.0 80.0 70.00 56.00 38.0  2496  8212  4482     23  1531  458 
4 2013 61.0 60.0 50.00 26.00 27.0  3208  10846  5799     21  1827  458 
5 2012 135.0 135.0 127.00 106.00 127.0  3409  11058  6062     21  1886  436 

    VacancyOC VacancyVI 
1  113  102 
2  358  242 
3  323  321 
4  208  390 
5  257  345 

и хотите построить линейную модель с зависимой переменной как «Общие», я использовал следующую команду:

GaneeshanModel1 <- lm(General ~ ., data = Ganeeshan) 

я получаю "NA" вместо значений в резюме модели

вызовов:

lm(formula = General ~ ., data = Ganeeshan) 

ост: ВСЕ 5 невязок 0: нет остаточных степеней свободы!

Коэффициенты: (9 не определен из-за особенностей)

     Estimate Std. Error t value Pr(>|t|) 
(Intercept)   6566.6562   NA  NA  NA 
Year     -3.2497   NA  NA  NA 
OBC      0.5175   NA  NA  NA 
SC      -0.2167   NA  NA  NA 
ST      0.6078   NA  NA  NA 
VI       NA   NA  NA  NA 
VacancySC     NA   NA  NA  NA 
VacancyGen     NA   NA  NA  NA 
VacancyOBC     NA   NA  NA  NA 
`Banks Participated`  NA   NA  NA  NA 
VacancyST     NA   NA  NA  NA 
VacancyHI     NA   NA  NA  NA 
VacancyOC     NA   NA  NA  NA 
VacancyVI     NA   NA  NA  NA 

почему я не получаю никаких данных здесь

+0

Возможно, вы могли бы включить подмножество (используя dput()) ваших данных, чтобы воспроизвести ошибку – MLavoie

ответ

0

Это может произойти, если вы не делаете предварительную обработку данных правильно первым. Кажется, что ваш столбец «Банк» пуст (NaN), и вы должны думать о том, что с ним делать (я не уверен, что это весь файл или есть другие непустые значения в столбце «Банк»). В общем, прежде чем приступить к использованию ваших данных, вам нужно заменить значения NaN (пусто) в ваших столбцах на некоторые числовые значения (обычно это среднее или среднее значение столбца). В R, для столбца «Банка» (в случае, если у него есть другие не пустые значения), например, вы можете сделать это следующим образом:

dataset$Banks = ifelse(is.na(dataset$Banks), 
       ave(dataset$Banks, FUN = function(x) mean(x, na.rm = TRUE)), 
       dataset$Banks) 

В противном случае, в зависимости от набора данных, если некоторые из ваших ценностей представлен период (или любой другой, не числового значения), вы можете импортировать CSV в

dataset = read.csv("data.csv", header = TRUE, c(" ", ".", "NA")) 

изменить «период» и «пустые» значения для NaN (NA) и после этого использовать линию выше, чтобы заменить NA (NaN) со средним/медианным/что-то еще.

Смежные вопросы