This question提出同样的问题,但尚未得到答复。我的问题涉及如何使用lm()函数指定模型,因此是一个编程(非统计)问题。
我有一个混合设计(2个重复和1个独立预测器)。参与者首先被引导到A组或B组(这是独立预测者),然后他们评价了他们喜欢4种不同语句的程度(这是两个重复的预测因子)。 如何建模这些数据有很多很棒的在线资源。但是,我的数据是hecescedastic。所以我喜欢使用异方差一致的协方差矩阵。 This paper解释得很清楚。 sandwich和lmtest套餐非常棒。 Here是一个很好的解释,如何在R中使用lm(y~x)进行独立设计。
似乎我使用lm,否则它不会工作?
以下是回归模型的代码,假设所有方差都相等(它们不是Levene的测试结果显着)。
fit3 <- nlme:::lme(DV ~ repeatedIV1*repeatedIV2*independentIV1, random = ~1|participants, df) ##works fine
以下是纠正异方差性的独立模型的代码,该代码有效。
fit3 <- lm(DV ~ independentIV1)
library(sandwich)
vcovHC(fit3, type = 'HC4', sandwich = F)
library(lmtest)
coef(fit3, vcov. = vcovHC, type = 'HC4')
所以我的问题是,如何用lm指定我的模型? R中的替代方法如何使我的模型适用于异方差性也是受欢迎的!
非常感谢!!!
答案 0 :(得分:1)
我的印象是,你的问题来自混合各方面的各种方法(重复测量/相关性与异方差性),这些方法不能轻易混合。你可能也会考虑固定效应,而不是只调整异方差性的推理,而不是仅仅调整异方差性的推理,你可以考虑使用高斯模型,并模拟均值和方差等。对于我来说,很难说是什么是这里最好的路线。因此,我只评论有关sandwich
包的某些方面:
sandwich
包 仅限于lm
/ glm
,但原则上是面向对象的,请参阅vignette("sandwich-OOP", package = "sandwich")
(另请参阅发表为doi:10.18637/jss.v016.i09。
适用于各种包装/型号的合适方法,但不适用
适用于nlme
或lme4
。原因在于,对于哪种混合效果模型,通常的三明治技巧实际上起作用并不是那么明显。 (免责声明:但我并不是混合效果建模的专家。)
然而,对于lme4
,有一个相对较新的包
称为merDeriv
(https://CRAN.R-project.org/package=merDeriv)
提供estfun
和bread
方法,以便sandwich
协方差
计算lmer
输出等。还有一份工作文件
使用该包:https://arxiv.org/abs/1612.04911