我有跨国面板数据,想知道IV
的影响关于二元学生级别的结果 DV
我想包括一个嵌套的随机效应,它考虑到学生所在的学校会影响结果,而且不同国家的学校存在显着差异:(1|country/school)
.所以我开始的模型是:
model = glmer(DV ~ IV + (1|country/school), data=data, family = 'binomial')
我还想考虑时间趋势。起初我认为我应该做年份固定效应,但这些国家的政治发展随着时间的推移而有很大差异,我想捕获这一点,虽然 1991 年可能让 A 国的学校陷入困惑,但 1991 年可能是教育资金的好年头在 B 国。因此我认为我可能应该包括一个国家年固定效应,如下所示:
model = glmer(DV ~ IV + (1|country/school) + as.factor(country_year),
data=data, family = 'binomial')
模型的随机效应是:
Random effects:
Groups Name Variance Std.Dev.
school:country (Intercept) 5.703e-02 2.388e-01
country (Intercept) 4.118e-15 6.417e-08
Number of obs: 627, groups: school:country, 51; country, 22
当模型中已经包含国家随机效应时,包含国家年固定效应是否不正确?
另一种提问方式:
我应该如何处理
school
的事实?是 country
的子集, 和 country_year
是 country
的子集,但都不是 school
或 country_year
是彼此的子集吗?
最佳答案
据我所知,你们有 22 个国家。不清楚是什么country_year
是,但假设它只是 country:year
的虚拟对象,那么将其作为固定效应(作为一个因素)包含在内可能不是一个好主意,因为将有太多的级别无法进行有用的解释。
由于您对时间趋势感兴趣,因此包含 year
是有意义的。作为固定效果:
DV ~ IV + (1|country/school) + as.factor(year)
如果有很多
years
您可能会发现将年份包含为数字会更好DV ~ IV + (1|country/school) + as.numeric(year)
..因为这将估计年份的单个(线性)趋势,而如果它是一个因素,那么它将计算一个估计值,无论有多少年(减去 1),当有很多级别时,这将不容易解释。但是,当编码为一个因素时,估计值可以表明是否存在非线性趋势,然后您可以切换到
as.numeric
并引入非线性项。OP的最后一段有点令人困惑。如
country_year
确实嵌套在 country
内,那么我们将有:DV ~ IV + (1|country/school) + (1|country:country_year)
..这与以下内容相同:
DV ~ IV + (1|country) + (1/school:country) + (1|school:country_year)
...然而,这不会估计任何时间趋势。如果你想估计一个趋势,那么你需要包括
year
(或 country_year
)作为如上所述的固定效果 - 您可以通过将其包含为随机斜率来允许它在学校(和/或国家/地区)之间有所不同,例如:DV ~ IV + year + (1|country) + (year|school:country)
关于r - 嵌套随机效应和相关的固定效应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54437122/