我有一个包含未来回报的向量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)
Run Code Online (Sandbox Code Playgroud)
我想确保每个系列的最后一个元素不包含在回归中.我阅读了na.action文档,但我不清楚这是否是默认行为.
对于cor(),这是从计算中排除X [4]和Y [4]的正确解决方案吗?
cor(X, Y, use = "pairwise.complete.obs")
Run Code Online (Sandbox Code Playgroud)
出厂默认值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)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
至于你的第二个问题cor(X,Y,use='pairwise.complete.obs')
是正确的.由于只有两个变量,cor(X,Y,use='complete.obs')
也会产生预期的结果.