R语言差异检验:t检验「建议收藏」

R语言差异检验:t检验「建议收藏」文章目录@[toc]单样本t检验适用条件具体计算公式R语言示例独立样本t检验适用条件具体计算公式R语言示例配对样本t检验适用条件具体计算公式R语言示例t检验(studentt检验)是应用t分布的特征,将t作为检验的统计量来进行统计推断方法。它对样本要求较小(例如n<30)。主要用途:样本均数与总体均数的差异比较两样本均数的差异比较分类:单样本t检验独立样本t检验配对样本t…

大家好,又见面了,我是你们的朋友全栈君。


t检验(student t检验)是应用t分布的特征,将t作为检验的统计量来进行统计推断方法。它对样本要求较小(例如n<30)。

主要用途:

  • 样本均数与总体均数的差异比较
  • 两样本均数的差异比较

分类:

  • 单样本t检验
  • 独立样本t检验
  • 配对样本t检验

单样本t检验

单样本t检验主要用于判断样本均数与总体均数是否存在显著差异。

适用条件

  • 已知一个总体均数
  • 已知一个样本均数及该样本标准差
  • 样本正态分布或近似正态总体

实际应用中,当数据量足够大时,对样本正态分布要求不再严格。只要数据分布不是严重偏态,一般来说单样本t检验都是适用的。

具体计算公式

t = x ˉ − μ 0 s / n t=\frac{\bar{x}-μ_0}{s/\sqrt{n}} t=s/n
xˉμ0

自 由 度 d f = n − 1 自由度df=n-1 df=n1
其中, x ˉ \bar{x} xˉ为样本均数、 μ 0 \mu_0 μ0为总体均数, s s s为样本标准偏差、 n n n为样本数。该统计量t在原假设 μ = μ 0 \mu=\mu_0 μ=μ0为真的条件下服从自由度为 n − 1 n-1 n1的t分布。

R语言示例

R语言中可以用t.test函数进行t检验

(虚构)从某小学六年级抽取10名学生,其身高(单位:cm),是否认为该学校六年级平均身高130cm?

10名学生身高:
130,120,130,110,130,135,129,124,130,134

#生成数据
x <- c(130,120,130,110,130,135,129,124,130,134)
#t检验
t.test(x,mu = 130)

	One Sample t-test

data:  x
t = -1.1884, df = 9, p-value =
0.2651
alternative hypothesis: true mean is not equal to 130
95 percent confidence interval:
 121.8702 132.5298
sample estimates:
mean of x 
    127.2 
#结果显示,P=0.2651>0.05。在统计学上说明样本均数与总体均数没有差别。

独立样本t检验

独立样本t检验主要检验两个样本均数及其所代表的总体之间差异是否显著。

适用条件

  • 独立性,各观察值之间相关独立
  • 正态性,各样本均来自正态分布的总体
  • 方差齐性,各样本所在总体的方差相等

具体计算公式

  • 方差齐性条件下下
    s c 2 = s 1 2 ( n 1 − 1 ) + s 2 2 ( n 2 − 1 ) n 1 + n 2 − 2 s_c^2=\frac{s_1^2(n_1-1)+s_2^2(n_2-1)}{n_1+n_2-2} sc2=n1+n22s12(n11)+s22(n21)
    t = x 1 ˉ − x 2 ˉ s x 1 ˉ − x 2 ˉ = x 1 ˉ − x 2 ˉ s c 2 ( 1 / n 1 + 1 / n 2 ) t=\frac{\bar{x_1}-\bar{x_2}}{s_{\bar{x_1}-\bar{x_2}}}=\frac{\bar{x_1}-\bar{x_2}}{\sqrt{s_c^2(1/n_1+1/n_2)}} t=sx1ˉx2ˉx1ˉx2ˉ=sc2(1/n1+1/n2)
    x1ˉx2ˉ

    v = ( n 1 − 1 ) + ( n 2 − 1 ) = n 1 + n 2 − 2 v=(n_1-1)+(n_2-1)=n_1+n_2-2 v=(n11)+(n21)=n1+n22
    其中, v v v为自由度
  • 方差不齐条件下
    t ’ = x 1 ˉ − x 2 ˉ S 1 2 n 1 + S 2 2 n 2 t^{’}=\frac{\bar{x_1}-\bar{x_2}}{\sqrt{
    {\frac{S_1^2}{n_1}}+{\frac{S_2^2}{n_2}}}}
    t=n1S12+n2S22
    x1ˉx2ˉ

    v = ( S 1 2 / n 1 + S 2 2 / n 2 ) 2 ( S 1 2 / n 1 ) 2 n 1 − 1 + ( S 2 2 / n 2 ) 2 n 2 − 1 v=\frac{
    {(S_1^2/n_1+S_2^2/n_2)^2}}{
    {\frac{(S_1^2/n_1)^2}{n_1-1}}+{\frac{(S_2^2/n_2)^2}{n_2-1}}}
    v=n11(S12/n1)2+n21(S22/n2)2(S12/n1+S22/n2)2

R语言示例

独立样本t检验需要检验其适用条件,主要是指方差齐性,其他条件:样本独立性一般数据可以保障。t检验对样本正态性具有一定耐受性。

方差齐性可以用car包leveneTest函数检验

leveneTest(y=,group =)

其中,y是两组样本组成的数据,group是两组样本的分组情况。

方差齐性检验之后,才可进行独立样本t检验。

用t.test(A,B,var.equal=TRUE,paired=FALSE)

AB为数据集,var.equal=TRUE为方差齐性。paired=FALSE非配对样本。

示例:

(虚构)有两组学生(每组10人),一组采用传统教育,一组采用素质教育。一学期后,两组学生语文成绩(满分100)如下。问两组学生成绩之间差别是否显著。

  • 传统组A
    85,84,95,73,77,65,85,93,90,91
  • 素质组B
    87,96,77,80,79,96,93,82,84,86
A <- c(85,84,95,73,77,65,85,93,90,91)
B <- c(87,96,77,80,79,96,93,82,84,86)
#方差齐性检验
#合并数据
y <- c(A,B)
#数据分组标签
group=as.factor(c(rep(1,10),rep(2,10)))
#载入car包
library(car)
#方差齐性检验
leveneTest(y=y,group = group)
#结果显示,P=0.5505>0.05。说明方差齐性。
Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  1  0.3703 0.5505
      18  
#独立样本t检验
t.test(A,B,paired = FALSE)
#结果显示P=0.5639。说明两者没有区别。
	Welch Two Sample t-test

data:  A and B
t = -0.589, df = 16.463, p-value = 0.5639
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -10.100024   5.700024
sample estimates:
mean of x mean of y 
     83.8      86.0 

配对样本t检验

配对样本t检验同样检验两个样本均数及其所代表的总体之间差异是否显著。

独立样本t检验与配对样本t检验同属于双样本t检验,不同点在于配对样本t检验要求两个样本之间存在某些配对关系。

常见配对关系:

  • 同一样本两种不同处理方法的检验结果
  • 同一样本前后时间点的检验结果

适用条件

  • 正态性

具体计算公式

t = d ˉ − 0 s x ˉ = d ˉ s / n t=\frac{\bar{d}-0}{s_{\bar{x}}}=\frac{\bar{d}}{s/\sqrt{n}} t=sxˉdˉ0=s/n
dˉ

d f = n − 1 ( n 为 配 对 数 目 ) df=n-1(n为配对数目) df=n1(n)

R语言示例

配对样本t检验用t.test函数完成。

t.test(x,y,paired=TRUE)

其中,xy为数据,paired=TRUE是配对数据

示例:
有20名女性分为10对,试吃两种药。经过一段时间后,药效如下。问两种药是否有区别

  • 药1

4.4,5,5.8,4.6,4.9,4.8,6,5.9,4.3,5.1

  • 药2

6.2,5.2,5.5,5,4.4,5.4,5,6.4,5.8,6.2

#生成数据
drug1 <- c(4.4,5,5.8,4.6,4.9,4.8,6,5.9,4.3,5.1)
drug2 <- c(6.2,5.2,5.5,5,4.4,5.4,5,6.4,5.8,6.2)
#配对样本t检验
t.test(drug1,drug2,paired = TRUE)
#结果显示,P=0.1575>0.05,不能说两者存在显著差别。
	Paired t-test

data:  drug1 and drug2
t = -1.5417, df = 9, p-value = 0.1575
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.0609306  0.2009306
sample estimates:
mean of the differences 
                  -0.43 


R 语 言 小 白 速 通 R语言小白速通 R
懂 点 R 语 言 懂点R语言 R
欢 迎 分 享 收 藏 关 注 欢迎分享收藏关注

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150919.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • futex函数_UNIX/LINUX

    futex函数_UNIX/LINUX引子在编译2.6内核的时候,你会在编译选项中看到[*]Enablefutexsupport这一项,上网查,有的资料会告诉你”不选这个内核不一定能正确的运行使用glibc的程序”,那futex是什么?和glibc又有什么关系呢?1.什么是FutexFutex是FastUserspacemuTexes的缩写,由HubertusFranke,MatthewKirkwo

  • 百度最新面试题集锦

    百度最新面试题集锦

    2021年12月14日
  • php内置函数分析之str_pad()

    php内置函数分析之str_pad()

  • 操作系统银行家算法C语言代码实现

    操作系统银行家算法C语言代码实现    计算机操作系统课设需要,写了两个下午的银行家算法(陷在bug里出不来耽误了很多时间),参考计算机操作系统(汤子瀛)    实现过程中不涉及难度较大的算法,仅根据银行家算法的思想和步骤进行实现。以下为详细步骤:   定义:max1[][]:最大需求矩阵,max1[i][j]为第i条进程的第j项资源的最大需求数目;   allo…

  • mysql存储过程菜鸟教程_mysql存储过程实例详解

    mysql存储过程菜鸟教程_mysql存储过程实例详解详细实例全⾯解析SQL存储过程存储过程(StoredProcedure),是⼀组为了完成特定功能的SQL语句,类似⼀门程序设计语⾔,也包括了数据类、流程控制、输⼊和输出和它⾃⼰的函数库。存储过程可以说是⼀个记录集,它是由⼀些T-SQL语句组成的代码块,这些T-SQL语句代码像⼀个⽅法⼀样实现⼀些功能(对单表或多表的增删改查),然后再给这个代码块取⼀个名字,在⽤到这个功能的时候调⽤他就⾏了。…

  • fastjson -String转JSONArray,JSONArray转List[通俗易懂]

    fastjson -String转JSONArray,JSONArray转List[通俗易懂]String转JsonArrayStringreview=”[{“name”:”人员A”,”review_grades”:{“name”:”优秀”,”parent”:”-1″,”key”:”1″},”remark”:”XXX今年XXX获得优秀党员称号”},{“name”:”人员B”,”review_grades”:{“name”:”合格”,”parent”:”-1″,”key”:”2″},”remark”:”表现良好”},{“name”:”人员C”,”review_grades”:{“name”:”

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号