Предотвращение использования NA в регрессии lm
У меня есть вектор Y, содержащий будущие доходы, и вектор X, содержащий текущие доходы. Последнее изменение элемента на, как последнего возврата тоже в самом конце рядов.
X = { 0.1, 0.3, 0.2, 0.5 }
Y = { 0.3, 0.2, 0.5, NA }
Other = { 5500, 222, 523, 3677 }
lm(Y ~ X + Other)
Я хочу убедиться, что последний элемент каждой серии Не включен в регрессию. Я читал НС.документация по действиям, но я не уверен, что это поведение по умолчанию.
Для cor (), является ли это правильным решением для исключения X[4] и Y[4] из расчет?
cor(X, Y, use = "pairwise.complete.obs")
1 ответ:
Заводское значение по умолчанию для
lm
состоит в игнорировании наблюдений, содержащих значенияNA
. Поскольку это может быть переопределено с помощью глобальных опций, вы можете явно установитьna.action
вna.omit
:> summary(lm(Y ~ X + Other, na.action=na.omit)) Call: lm(formula = Y ~ X + Other, na.action = na.omit) [snip] (1 observation deleted due to missingness) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Как на ваш второй вопрос
cor(X,Y,use='pairwise.complete.obs')
является правильным. Поскольку есть только две переменные,cor(X,Y,use='complete.obs')
также даст ожидаемый результат.