You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R的lmer函数构建等价于重复测量ANOVA的线性回归

重复测量ANOVA的lmer实现步骤

1. 数据格式转换

你的原始数据是宽格式(每个被试一行,10次测量分属V1-V10列),而线性混合模型需要长格式(每个测量值一行),操作如下:

# 加载必需的包
library(tidyverse)
library(lme4)
library(lmerTest) # 用于输出p值,和JASP结果对齐

# 假设数据集名为data_df,先给每个被试添加唯一ID
data_df$subject <- factor(1:nrow(data_df))

# 转换为长格式
data_long <- data_df %>%
  pivot_longer(
    cols = V1:V10,
    names_to = "trial", # 组内重复测量因子(对应V1到V10)
    values_to = "score" # 测量的数值结果
  )

# 将trial转为因子类型,确保模型识别为分类变量
data_long$trial <- factor(data_long$trial)

2. 构建等价于重复测量ANOVA的混合模型

重复测量ANOVA需要检验三个核心效应:组间主效应(experiment)、组内主效应(trial)、组间×组内交互效应。对应的混合模型代码如下:

# 完整模型:包含固定效应的主效应+交互,以及被试的随机截距和trial的随机斜率
# 该结构考虑了被试内测量的相关性,和标准重复测量ANOVA的假设一致
model <- lmer(
  score ~ experiment * trial + (1 + trial | subject),
  data = data_long
)

# 若需匹配JASP中更简单的随机结构(仅考虑被试随机截距),可使用:
# model <- lmer(score ~ experiment * trial + (1 | subject), data = data_long)

3. 获取ANOVA结果(与JASP对比)

执行以下代码输出和JASP格式一致的显著性结果:

# 输出ANOVA表,包含F值、自由度、p值
anova(model)

结果解释

  • experiment行对应组间主效应的检验结果
  • trial行对应组内主效应的检验结果
  • experiment:trial行对应交互效应的检验结果

内容的提问来源于stack exchange,提问作者Lior Bruder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:37:05