Предотвращение использования 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 6
lm

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') также даст ожидаемый результат.