我有一些国家多年的面板数据。一些人在18岁时接受治疗,从那时起,每个18岁的人都受到治疗。
例如:在2000年,第一个18岁的人接受了治疗,在2002年,他们在2002年才20岁:
age\year 1999 2000 2001 2002
18 z x x x
19 z z x x
20 z z z x
因此,我想比较接受治疗(x
)和未经治疗(y
)的个体。
我可以使用以下代码将所有x与所有y进行比较:
data$dummy = ifelse(data$age <= 18 & data$year == 2000 |
data$age <= 19 & data$year == 2001 |
data$age <= 20 & data$year == 2002,1,0)
df <- lm(y ~ dummy,data = data)
summary(df)
但是我想将18的所有x
与18的y
进行比较。我尝试过:
data$age18 <- (data$age <= 18)
data$year2000 = ifelse(data$year >= 2000,0)
data$age19 <- (data$age <= 19 & data$age > 18)
data$year2001 = ifelse(data$year >= 2001,0)
data$age20 <- (data$age <= 20 & data$age > 19)
data$year2002 = ifelse(data$year >= 2002,0)
df <- lm(y ~ age18:year2000 + age19:year2001 + age20:year2002,data = data)
summary(df)
但是在输出中,我得到了有线系数:
(intercept)
age18FASLE:year2000
age18TRUE:year2000
age19FALSE:year2001
age19TRUE:year2001
age20FALSE:year2002
age20TRUE:year2002
还有另一种方法比较年龄组中的子组吗?谢谢!