我有一个普遍的问题。无论如何,我可以识别(或标记)R中回归中使用的观察结果吗?
lligator = data.frame(lnLength = c(3.87, 3.61, NA, 3.43, 3.81, 3.83, 3.46, 3.76,
3.50, 3.58, 4.19, 3.78, 3.71, 3.73, 3.78),lnWeight = c(4.87, 3.93, 6.46, 3.33, 4.38, 4.70, 3.50, 4.50,NA, 3.64, 5.90, 4.43, 4.38, 4.42, 4.25))
t.test=lm(lnWeight ~ lnLength, data = alligator)
我想用另一列创建一个数据框,指示使用哪个观察。我知道如何
na.omit()
和
na.exclude()
和
.completecases
工作,我可以用它们来做回归。但我正在寻找的是一种创建指示器以显示使用哪种观察的方法。对于那些Stata用户来说,类似于e(样本)
答案 0 :(得分:1)
如果我理解正确,您可以使用na.action()
检索在回归期间排除的索引向量,并使用它来计算指标变量:
alligator$used <- !seq_len(nrow(alligator))%in%na.action(t.test);
alligator;
## lnLength lnWeight used
## 1 3.87 4.87 TRUE
## 2 3.61 3.93 TRUE
## 3 NA 6.46 FALSE
## 4 3.43 3.33 TRUE
## 5 3.81 4.38 TRUE
## 6 3.83 4.70 TRUE
## 7 3.46 3.50 TRUE
## 8 3.76 4.50 TRUE
## 9 3.50 NA FALSE
## 10 3.58 3.64 TRUE
## 11 4.19 5.90 TRUE
## 12 3.78 4.43 TRUE
## 13 3.71 4.38 TRUE
## 14 3.73 4.42 TRUE
## 15 3.78 4.25 TRUE
等效但可能更快的方法:
alligator$used <- TRUE;
alligator$used[na.action(t.test)] <- FALSE;