我有一个关于 R 中的多级回归模型的问题,特别是如何为我的 2 级“度量”添加预测变量。
请考虑以下示例(这不是真实的数据集,因此这些值在现实中可能没有多大意义):
date id count bmi poll
2012-08-05 1 3 20.5 1500
2012-08-06 1 2 20.5 1400
2012-08-05 2 0 23 1500
2012-08-06 2 3 23 1400
数据包含
- 不同的人(“id”……所以是两个人)
- 每个人的体重指数(“bmi”,因此它不会在 id 内变化)
- 每个人在特定日期出现的心脏问题数量(“计数”)。因此,第 1 个人在 8 月 5 日遇到了三个问题,而第 2 个人在当天没有任何困难/问题
- 当天测量的污染物(如臭氧或二氧化硫)的数量
我的一般研究问题是,污染物的数量是否会影响人群中心脏病的数量。第一步,这可能是一个简单的线性回归:lm(count ~ poll)
但是,可以说我每天的数据都集中在人体内。我有来自第 1 个人的两个措施和来自第 2 个人的两个措施。
所以我的基本想法是建立一个以人(id)作为我的 2 级变量的多级模型。
我使用 nlme 包进行此分析:
lme(fixed=count ~ poll, random = ~poll|id, ...)
到目前为止没有问题。
然而,对第二层的真正影响可能不仅仅来自于我有不同的人这一事实。相反,一个人体内的影响更有可能来自他或她的 bmi(以及许多其他与人相关的变量,如年龄、吸烟量等)。
使长话短说:
如何在 lme 函数中指定这样的二级预测变量?
或者换句话说:我如何建立一个模型,其中心脏问题和污染之间的关系是不同的/聚集的/由一个人的体重指数调节(正如我所说的,可能还受到这个人的吸烟量或年龄)
不幸的是,我不知道如何告诉 R,我想要什么。我知道 oif 其他软件(其中一个叫做HLM),它能够做我想做的事情,但我很确定 R 也可以这样做......
所以,非常感谢您的帮助!
德申