考虑这个例子:
data <- data.frame(predictor = c(1,2,3,4,5,6),
dv = c(5,3,5,6,6,1),
id = c(1,2,3,1,2,3))
model <- lm(dv ~ predictor, subset = id, data = data)
summary(model)
我理解将subset = id==1
传递给lm
函数意味着什么 - 它只会使用那些具有匹配ID号的观察结果。但是,当我传递整个向量时,回归仍会运行并提供输出。但它是什么意思?
答案 0 :(得分:1)
根据?lm
我们看到
subset - 一个可选向量,指定要观察的子集 用于拟合过程。
如果我们运行lmobject$model
:
lm(dv ~ predictor, subset = 1, data = data)$model
# dv predictor
#1 5 1
lm(dv ~ predictor, subset = 1:5, data = data)$model
# dv predictor
#1 5 1
#2 3 2
#3 5 3
#4 6 4
#5 6 5
data$id
#[1] 1 2 3 1 2 3
lm(dv ~ predictor, subset = id, data = data)$model
# dv predictor
#1 5 1
#2 3 2
#3 5 3
#1.1 5 1
#2.1 3 2
#3.1 5 3
运行id只会重复数据行。
如果还有什么不清楚,请告诉我。