8

我有一个包含未来回报的向量 Y 和一个包含当前回报的向量 X。最后一个 Y 元素是 NA,因为最后一个当前返回也是可用系列的最后一个。

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)

我想确保每个系列的最后一个元素包含在回归中。我阅读了 na.action 文档,但我不清楚这是否是默认行为。

对于 cor(),这是从计算中排除 X[4] 和 Y[4] 的正确解决方案吗?

cor(X, Y, use = "pairwise.complete.obs")
4

1 回答 1

12

出厂时的默认值lm是忽略包含值的观察NA值。由于这可以使用全局选项覆盖,您可能希望显式设置na.actionna.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')也会产生预期的结果。

于 2011-12-09T15:54:26.897 回答