【R语言实战】T检验

数据准备

按下面的形式,在EXCEL中整理好数据

group BW SGR CAT SOD
1 4 1.2 21 2.2
1 5 1.4 22 2.3
1 6 1.5 23 2.5
2 14 2.2 33 3.5
2 15 2.4 34 3.6
2 16 2.5 35 3.7

T检验完整流程

【R语言实战】T检验_第1张图片
T检验流程
  • 需要注意的是,由于T检验对正态性不敏感,在样本容量小的时候,即使数据不符合正态分布,仍然推荐使用T检验,而不是秩和检验进行分析。因此后面的R代码中,我省略了正态性检验
  • 在样本量非常大的情况下,可以考虑使用Q-Q图判断正态性,只要大致呈一条直线,均认为符合正态分布,使用T检验。只有当Q-Q图非常不像一条直线时,才推荐使用秩和检验 wilcox.test()

R代码

##################################################
#####  独立样本T检验
####  作者:Cdudu,日期:2019.1.12     
#################################################

library(readxl)
library(car)
dat<-read_excel('文件名.xlsx')

#判断方差齐性
leveneTest(BW~as.factor(group), data=dat) 

#T-test
t.test(BW~as.factor(group),data=dat, var.equal=T) 

#方差齐时,参数var.equal设定为T,即进行Student T检验。

#方差不齐时,参数var.equal使用默认的F,则进行Welch检验

以上就是T检验的完整代码,其中:

  • readxl包是用于导入EXCEL表格的,使用前请先安装该包
  • car包用于方差齐性检验,使用前请先安装该包
  • 在方差齐性检验和T-test的代码中,都需要用as.factor()将自变量group转化为因子型,避免运行过程中报错

结果展示

方差齐性检验结果

Pr(>F)大于0.5,则认为方差齐

Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  1  0.0655 0.8065
       6      
T检验结果

主要看p-value的值

Two Sample t-test

data:  体重 by as.factor(组别)
t = -12.916, df = 6, p-value = 1.325e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -14.86816 -10.13184
sample estimates:
mean in group 1 mean in group 2 
          10.35           22.85 

批量操作

本文中的R代码每次只能实现一个变量的T检验,然而在实际试验中,不可能只有一个检测项目。当检测的项目较少时,可以使用这段R代码一个一个检验,但是当测定项目比较多的时候,就显得有点不够人性化了。在下一篇文章中,放出批量T检验的代码。

你可能感兴趣的:(【R语言实战】T检验)