R语言统计分析:数值变量的统计推断,有的函数能接受两组数据输入,也可以接受表达式(formula)形式的输入,如t.test函数:
t.test(A,B) # A,B分别是一组数据
t.test(weight~group) # 以group分组的一列weight值
很多函数并不能接受多组数据输入,如方差分析函数aov(),KW检验的kruskal.test()函数,事实上后面要学习的lm()函数也是如此。也就是说,大多数R函数都需要数据以表达式(formula)形式输入,因此我们必须掌握R语言中这种数据组织的形式。
formula是R语言中一种特殊的类,它用由一串符号表示统计模型中各变量的关系。我们需要搞清楚这些符号是什么意思,以及由它们连在一起的表达式阐述了变量间怎样的关系和组织形式,当然你要真有兴趣深入了解这些表达式制定的规范,请参看我罗列出的第4篇参考文献。
表达式的构成
表达式一般用大写字母表示因子,也就是分组因素,用小写字母表示定量变量。当构成表达式的主要都为定量变量时,主要的符号和式子的含义如下:
符号 | 解释 |
+ | 分隔多个自变量 |
~ | 分隔因变量和自变量符号,左边为因变量,右边为自变量。y~a+b+c表示用a、b、c三个变量做自变量预测y |
: | 表示交互作用,y~a+b+a:b表示用a,b两个变量及a、b的交互作用项预测y |
* | 变量间主效应和全部的交互项,SPSS中称为全模型或饱和模型,R语言中表达式y~a*b等价于y~a+b+a:b,y~a*b*c等价于y~a+b+c+a:b+a:c+b:c+a:b:c |
^ | 表高阶效应,y~(a+b+c)^2等同于y~a+b+c+a:b+a:c+b:c,2表示包含所有二阶交互项,与*的区别是没有三阶交互项a:b:c |
. | 表示除了因变量外的所有变量,假设数据集DATA中有weight、height、BMI、age四个变量,BMI~.等价于BMI~weight+height+age |
- | 去除某个变量,y~(a+b+c)^2-a:b等同于y~a+b+c+a:c+a:c |
-1 | 删除截距项,y~x-1的意思是构建以y为因变量x为自变量的模型,但不考虑截距 |
此外还有一些特殊的用法,I()表示将xx看做一个整体,如y~a+I((b+c)^2))表示将(b+c)^2)看做一个变量,相当于换了元。表达式上还可以套函数,如log(y)~a+b就是构建以log(y)为因变量,a和b为自变量的模型。
主要实验设计的表达式
现在我们放入一些分类变量也就是因子看看,并同时说明如何用表达式表示各种实验设计。
表达式 | 解释 |
y~A | 表示按A因子分组的y,也就是完全随机分组设计,如果A有两个等级,就是两独立样本 |
y~x+A | 含有一个协变量x的和一个因子A的协方差分析 |
y~A*B | 双因素方差分析,注意*的含义表示包括变量间主效应和全部的交互项 |
y~x1+x2+A*B | 含有两个协变量x1、x2的和两个因子A、B双因素协方差分析 |
y~B+A | 随机区组设计,B是区组因子 |
y~A+Error | 单因素组内方差分析 |
y~B*W+Error | 含单个组内因子W和单个组间因子B的重复测量方差分析 |
常见的单因素设计是指只有1个处理因素,k个水平的设计,主要包括:完全随机设计、配对和随机区组设计、拉丁方设计、交叉设计。
多因素设计指有2个或2个以上处理因素的设计,主要包括:析因设计、正交设计、嵌套设计、裂区设计。我将在讲方差分析的时候再详细介绍几种主要实验设计下的R语言分析实例。
另外要强调的是,以上所列出的表达式只有一个因变量,如果有多个因变量时我们就得考虑使用多元方差分析了(MANOVA),那种东西放在R语言多元统计的模块下再做介绍。
表达式中各项的顺序
当因子不止一个并且是非平衡设计,或存在协变量时,y~A*B和y~B*A根本不是一回事!
这个问题主要涉及到R、SAS、SPSS对平方和的分解方式,如果想知道具体原因,在SPSS帮助文件中搜“平方和”,会看到三种类型分解方式的详细介绍,这里不再赘述。
我们只要知道表达式的顺序不能轻易颠倒就行了。
总结一下
本周所推送的内容一方面解决了上一讲推送中提到的数据输入问题,另一方面为接下来讲方差分析进行了铺垫,这就避免了在调用函数的时候使用表达式输入数据令人看不懂的问题。
东西比较枯燥,但记不住也没关系,反正接下来再讲方差分析和线性回归时,我还会用反复的用到表达式,用的多了自然就记住了。如果您觉得这篇推送对您有所帮助,请不吝点赞、转发、在看。
END
参考资料
[1] R Documentation
[2] R语言实战[M]. 人民邮电出版社
[3] R语言统计分析与应用[M]. 人民邮电出版社
[4] Chambers, J. M. and Hastie, T. J. (1992) Statistical models. Chapter 2 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
作者:冰山