识别r中的回归样本样本

2023-09-03 08:42:26 作者:κц叶紛紛jцàη哀饬

我有一个一般性的问题。有没有什么办法可以标识(或标记)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() 
spss 得到一个多元线性回归模型之后,如何比较预测值和真实值 如何判断模型是否有预测能力

na.exclude()

.completecases

工作,我可以使用它们来进行回归。但我正在寻找的是一种方法,可以创建一个指示器来显示使用了哪个观察。对于Stata用户,类似于e(示例)

推荐答案

如果我理解正确的话,您可以使用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;