我試圖符合以下模型提供一個均值爲中心的變量:如何在迴歸模型
使用lm
在R.
我不能讓我的頭圍繞以下行爲...
library(nlme)
library(plyr)
#create toy data set
df0<-Orthodont
df0<-ddply(df0, .(Subject), mutate, lag1=c(NA,distance[1:(length(distance)-1)]))
df0<-subset(df0, !is.na(lag1))
head(df0)
# distance age Subject Sex lag1
# 2 21.5 10 M16 Male 22.0
# 3 23.5 12 M16 Male 21.5
# 4 25.0 14 M16 Male 23.5
# 6 23.5 10 M05 Male 20.0
# 7 22.5 12 M05 Male 23.5
# 8 26.0 14 M05 Male 22.5
lm(distance ~ 1, data=df0)$coef
# (Intercept)
# 24.6358
lm(distance ~ lag1, data=df0)$coef
# (Intercept) lag1
# 6.2798336 0.7866844
lm(distance ~ I(lag1-mean(distance)), data=df0)$coef
# (Intercept) I(lag1 - mean(distance))
# 25.6604346 0.7866844
第一個模型中的截距參數是整體平均值distance
。爲什麼當我的意思是居中滯後變量時,這不會重新出現在最終模型中?
我認爲這是一個很好的問題,但它會是一個更好的問題關於交叉驗證問題。 – nograpes