运行后,m1 <- lm(f1, data=DT)我想保存包含的观察结果(类似于"obs < - complete.cases(m1)",但有效的东西),以便我可以对相同的观察结果进行第二次回归:m2 <- lm(f2, data=DT[obs]).
或者,我想获得由公式对象定义的给定变量集完成的观察.考虑这个类似R的伪代码:
f1 <- as.formula("y ~ x1 + x2 + x3")
f2 <- as.formula("y ~ x1 + x2")
obs <- complete.cases(DT[,list(all.vars(f1)])
m2 <- lm(f2, data=DT[obs])
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?在第一种情况下,lm已经隐含地完成了工作; 我该如何提取它?在第二个中,all.vars返回一个字符向量; 如何正确创建DT(data.table)可以理解的不带引号的列表?
来自data.table v1.9.5,na.omit有一个cols参数。
na.omit(DT, cols = all.vars(f))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3328 次 |
| 最近记录: |