确定r中的回归样本

时间:2016-06-30 07:39:30

标签: r regression linear-regression sample

我有一个普遍的问题。无论如何,我可以识别(或标记)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(样本)

1 个答案:

答案 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;