我尝试使用R的lme函数重新创建一些SAS混合模型分析。以下SAS代码:
proc mixed data = df noclprint covtest;
class patid visno;
model va = cst va0 cst0 / solution;
random intercept / subject = patid;
repeated visno / type = sp(pow)(month) subject = patid;
run;
假设每个PATID都有一个随机截距,此外,对于每个PATID的重复观测,有一组具有AR(1)型相关结构(但具有不等的时间间隔)的误差被添加到它们中。
这个分析显然可以在R中这样重新创建:
fitBoth <- lme(fixed = va ~ CST + cst0 + va0, data = muggeo,
random = ~1 | PATID,
correlation = corAR1(form = ~ month | PATID))
我说它可以被重建是因为参数的数值估计看起来是相同的,
在SAS中,我可以从上面的SAS代码中删除随机截距语句,SAS认为控制语句是合理的,并估计不同的模型(没有随机截距的模型)。
但看起来这在R中不起作用。如果我从R代码中删除random语句,我会得到以下错误消息:
Error in lme.formula ... incompatible formulas for groups in 'random'
and 'correlation'
是否有方法在lme中重新创建第二个SAS分析(即没有随机语句)?
非常感谢
1条答案
按热度按时间oaxa6hgo1#
正如@user20650所建议的,如果要拟合具有异方差和/或相关性但没有随机效应的模型,则需要使用
gls
(“广义最小二乘”)而不是lme
(“线性混合效应”)。(note
gls()
的第一个参数被称为model
,而不是lme
中的fixed
)* 应该 * 工作(但我不能测试,因为你没有提供一个可重复的例子)...这确实工作: