写在前言
关于方差分析(Analysis of Variance,ANOVA),知乎的大神们都已经科普过其概念,简单来说就是检验多组样本之间均值的差异。而重复测量方差分析,顾名思义即多次测量的数据来自于同一个体,这些数据之间可能存在相关性,与方差分析的基本假设——数据独立性相违背,从而导致常规的方差分析会大大增加犯I类错误的概率。
随着R的使用越来越普遍,世界各地的研究者们根据不同的统计模型相继开发出各种各样的加载包,使得R在数据处理和分析的功能上越来越强大。然而,初学R的朋友可能不熟悉各种函数的定义,对于该用哪个函数去分析自己的数据就成了一个非常头痛的问题。
仅应用于方差分析,最基本的就有aov( ),anova( ),Anova( ){car包},这三种函数使用情况和公式都不一样,各有利弊。关于它们的使用和对比也有很多人介绍过,今天要介绍的是另一个我比较常用的包——‘ez’。
这个包在国外也越来越多人使用,正如其名,使用起来非常的easy,相比anova( ) 以及Anova( )需要先用lm( )定义线性模型,或者aov( )需要更改平方和的计算类型(Type I, II, III),ezANOVA( )的运算简化到基本一个语句就搞定所有,并且输出结果更为直观。
详见:ez package
示例使用的数据是来自某研究关于文章的主题熟悉性与生字密度对学生阅读理解的影响。
- reading.xlsx 提取码:854g
与SPSS要求的数据格式wide-data不同,‘ez’包对数据格式的要求是long-data,对于用惯SPSS的朋友们来说,相当于数据处理只做到Aggregate这一步就可以了。
> library(readxl) # 读取数据
> data <- read_excel(file.choose())
> data$Subject <- as.factor(data$Subject)
> data$Familiarity <- as.factor(data$Fam