r - 如何将 Afex 或汽车 ANOVA 模型转换为 lmer?观察到的变量

标签 r lme4 anova xtable

afex包我们可以找到这个方差分析分析的例子:

data(obk.long, package = "afex")
# estimate mixed ANOVA on the full design:
# can be written in any of these ways: 

aov_car(value ~ treatment * gender + Error(id/(phase*hour)), data = obk.long,
        observed = "gender")

aov_4(value ~ treatment * gender + (phase*hour|id), data = obk.long,
        observed = "gender")

aov_ez("id", "value", obk.long, between = c("treatment", "gender"), 
       within = c("phase", "hour"), observed = "gender")

我的问题是,如何在 lme4 中编写相同的模型?
特别是,我不知道如何包括“观察到”一词?

如果我只是写
lmer(value ~ treatment * gender + (phase*hour|id), data = obk.long,
     observed = "gender")

我收到一个错误,告诉我观察到的不是一个有效的选项。

此外,如果我只是删除观察到的选项 lmer产生错误:

Error: number of observations (=240) <= number of random effects (=240) for term (phase * hour | id); the random-effects parameters and the residual variance (or scale parameter) are probably unidentifiable.



我在 lmer 语法中的何处指定“介于”或“在”变量中?。据我所知,您只需将因变量写在左侧,将所有其他变量写在右侧,误差项为 (1|id)。

包“car”将 idata 用于主题内变量。

最佳答案

我可能对经典方差分析理论了解得不够完整,无法完全回答这个问题,但我会尝试一下。首先,有几点:

  • observed论证似乎只与效应量的计算有关。

  • observed: ‘character’ vector indicating which of the variables are observed (i.e, measured) as compared to experimentally manipulated. The default effect size reported (generalized eta-squared) requires correct specification of the obsered [sic] (in contrast to manipulated) variables.



    ......所以我认为你把它留在外面是安全的。
  • 如果你想覆盖错误,你可以使用

  •   control=lmerControl(check.nobs.vs.nRE="ignore")
    

    ......但这可能不是正确的前进方向。

    但我不确定这是正确的方法:
    m1 <- lmer(value ~ treatment * gender + (1|id/phase:hour), data = obk.long,
        control=lmerControl(check.nobs.vs.nRE="ignore",
                                check.nobs.vs.nlev="ignore"),
        contrasts=list(treatment=contr.sum,gender=contr.sum))
    

    这指定了 phase 的交互和 hour变化范围内 id .残差方差和(在 id 内逐小时)方差是混淆的(这就是我们需要覆盖 lmerControl() 规范的原因),所以不要相信那些特定的方差估计。但是,治疗和性别的主要影响应该处理相同。如果您加载 lmerTest而不是 lmer并运行 summary(m1)anova(m1)对于由 afex 计算的固定(性别和治疗)效应,它为您提供相同的自由度 (10)。 .
    lme给出了类似的答案,但需要事先构建逐小时交互:
    library(nlme)
    obk.long$ph <- with(obk.long,interaction(phase,hour))
    m2 <- lme(value ~ treatment * gender,
                 random=~1|id/ph, data = obk.long,
        contrasts=list(treatment=contr.sum,gender=contr.sum))
    anova(m2,type="marginal")
    

    不知道怎么重构afex的随机效应检验。

    关于r - 如何将 Afex 或汽车 ANOVA 模型转换为 lmer?观察到的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37102075/

    相关文章:

    r - ggplot2 直方图图例太大

    r - DT 在 Shiny 的 : Change only the colour of a single row

    r - 在 R 中绘制重复元素

    r - 修复 lme4 中的方差值

    r - 在 R 中的双向方差分析中为 Tukey HSD 选择的输出

    r - 使用 ezANOVA 输出进行事后测试

    r - emacs org R 源代码块中 cat() 的输出结果

    r - 对 lmer 和 glmer 模型使用 aictab()

    r - 对 R 中的多个数据子集执行线性混合模型

    python - 覆盖代表等高线图上重要点的补丁