我编辑了以下可重现的数据帧(DF),它来自stackoverflow用户G. Grothendieck。
Lines <- "Ctry year Carx Brx
A 2000 13 12
A 2001 8 16
A 2002 12 20
A 2003 16 18
A 2004 10 25
A 2005 13 12
B 2000 20 22
B 2001 24 20
B 2002 32 14
B 2003 32 24
B 2004 30 18
B 2005 36 14
C 2000 42 36
C 2001 46 25
C 2002 45 32
C 2003 56 38
C 2004 56 15
C 2005 58 60
"
DF <- read.table(text = Lines, header = TRUE)
我想根据下面所示代码选择的样本进行回归估计。
subset(DF, (Carx < 15 & year==2005), select=c(Ctry, year, Carx))
DF$class <- "low"
for(i in seq(15,25, by=5)) {
for( j in seq(35,45, by=5)) {
test <- subset(DF, (Carx < i & year==2005), select=c(Ctry, year, Carx))
for (k in unique(test$Ctry)) DF[DF$Ctry==k,"class"]<-"low"
test <- subset(DF, (Carx < j & Carx > i & year==2005), select=c(Ctry,year, Carx))
for (k in unique(test$Ctry)) DF[DF$Ctry==k,"class"]<-"middle"
test <- subset(DF, (Carx > j & year==2005), select=c(Ctry, year, Carx))
for (k in unique(test$Ctry)) DF[DF$Ctry==k,"class"]<-"high"
}
}
我想估计的回归方程是;
require(lme4)
est.1 <- lmer(Carx~1+year+(1+year|Ctry), data=DF,REML=F)
我的问题是,我想将上述代码产生的样本选择输入到回归方程中。如果我正确编写代码,对于每个i和j,我将获得不同的数据样本。我希望得到每个样本的回归结果。
感谢您的帮助...
答案 0 :(得分:0)
如果您只想使用数据的子集来拟合模型,可以使用subset=
参数
est.1 <- lmer(Carx~1+year+(1+year|Ctry), data=DF,REML=F, subset=class=="low")
仅查看class=="low"
的记录。但是,在您的测试数据中,class
和Ctry
完全相关,因此您无法对Ctry
进行估算,因为所有这些值都是固定的类。