基于R的混合线性模型的实现

本文介绍了在R中使用混合线性模型处理被试内设计数据,通过实例解析模型建立、结果解读,包括随机截距、随机斜率的选择与调整,以及如何处理固定效应和简单效应分析。
摘要由CSDN通过智能技术生成
640?wx_fmt=png 640?wx_fmt=png 640?wx_fmt=png


640?wx_fmt=png

作者:张光耀,硕士研究生,现就读于中科院心理所,

GitHub 主页: https://github.com/usplos


前言

为什么要用混合线性模型:比如测量了不同收入水平的人群的收入和幸福感,但每个群体内收入水平是不同的,幸福感也不同,两者之间的关系也是不同的, 如果直接用一般线性模型,会造成错误的结论,这个时候要考察的是可以推广到不同收入群体的收入和幸福感之间的关系 (即考察的关系不仅可以应用于当前的收入群体,还可以应用到其他的群体)。这时候需要用到混合线性模型(或者层次线性模型)。

R

R 中混合线性模型要依靠lme4或者lmerTest数据包(强烈推荐后者,因为会输出显著性)

library(lmerTest)


基本表达式
fit = lmer(data = , formula = DV ~ Fixed_Factor + (Random_intercept + Random_Slope | Random_Factor))
640?wx_fmt=gif

参数说明:

  • data - 要处理的数据集;

  • formula - 表达式;

  • DV - 因变量;

  • Fixed_Factor - 固定因子,即考察的自变量;

  • Random_intercept - 随机截距,即认为不同群体的因变量的分布不同 (可以理解成有些人出生就在终点,而你是在起点......);

  • Random_Slope - 随机斜率,即认为不同群体受固定因子的影响是不同的 (可以理解成别人花两个小时能赚10000元,而你只能挣个被试费......);

  • Random_Factor - 随机因子;

数据整理形式

数据整理可参考politeness

该数据收集了若干被试(subject)的性别(gender),以及用不同的态度(attitude)在不同场合(scenario)下说话的音高(frequency)。 这是一个典型的被试内设计(7 * 2设计)。


结果查看

politeness 数据为例,首先加载数据包并将scenario变量变为因子变量。

politeness = readr::read_csv('https://raw.githubusercontent.com/usplos/self-programming/master/politeness_data.csv')
politeness$scenario = factor(politeness$scenario)
library(lmerTest)


  • 22
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值