R语言t检验

2022-09-17  本文已影响0人  医学和生信笔记

本文首发于公众号:医学和生信笔记

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。

前言

本期开始将推送使用R语言进行医学统计学的相关内容。示例中用到的书籍电子版及配套数据已上传到QQ群,需要的加群下载即可。

使用R语言进行统计学是我学习R语言最开始的初衷,没想到从此一发不可收拾,打开了新世界的大门。这个系列也是我最开始学习R语言时的笔记。希望对大家有帮助。

主要是用R语言复现课本中的例子。我使用的课本是孙振球主编的《医学统计学》第4版,封面如下:

image.png

我的研究生课程并没有把整本书的全部学完,只学习了其中的一部分,因此本系列也是只针对其中学过的部分进行复现。另外对于统计描述部分也不在这里探讨。

t检验

t检验主要适用于1组或2组的均数的比较,要求数据符合正态性和方差齐性。关于t检验的本质问题本文不做过多探讨,只是学习如何用R语言实现t检验!

在R中进行t检验非常简单,就是 t.test()函数,不管是单样本、两样本都是这一个函数。使用R语言进行统计学比SPSS好的一点是,当你需要使用某种检验时,直接打出这个检验的名字一般就会跳出来相关的函数,而我在学习使用SPSS进行各种统计检验时,可能更多的是关注如何点点点(鼠标点击菜单),不利于记住哪种情况使用什么方法。

单样本t检验

使用课本例3-5的数据。

首先是读取数据,可以自己录入,也可以使用课本光盘里的数据,我这里直接使用了光盘里的数据。

# 使用foreign包读取SPSS数据

library(foreign)

df <- read.spss('E:/各科资料/医学统计学/研究生课程/3总体均数的估计与假设检验18-9研/例03-05.sav',to.data.frame = T)

head(df)

数据一共两列,第1列是编号,第二列是血红蛋白值,一共有36行。

进行单样本t检验,并与140进行比较:

st <- t.test(df$hb,mu=140,alternative = 'two.sided') # 双侧检验

st


    One Sample t-test

data:  df$hb
t = -2.1367, df = 35, p-value = 0.03969
alternative hypothesis: true mean is not equal to 140
95 percent confidence interval:
 122.1238 139.5428
sample estimates:
mean of x 
 130.8333 

结果显示t=7.926,自由度df=9,p<0.001,结果和课本一致。

两样本t检验

使用课本例3-7的数据。

首先是读取数据。

library(foreign)

df <- read.spss('E:/各科资料/医学统计学/研究生课程/3总体均数的估计与假设检验18-9研/例03-07.sav',to.data.frame = T)

df$group <- c(rep('阿卡波糖',20),rep('拜糖平',20))

head(df)

一共有3列40行,第1列是编号,第2列是血糖值,第3列是组别(阿卡波糖组和拜糖平组,每组20个人)。

进行两样本t检验:

tt <- t.test(x ~ group, data = df, paired = F, var.equal = T) # 可以看到与配对样本t检验的写法稍有不同,其实都可以,主要是看数据结构

tt

   Two Sample t-test

data:  x by group
t = -0.64187, df = 38, p-value = 0.5248
alternative hypothesis: true difference in means between group 阿卡波糖 and group 拜糖平 is not equal to 0
95 percent confidence interval:
 -2.326179  1.206179
sample estimates:
mean in group 阿卡波糖   mean in group 拜糖平 
                 2.065                  2.625 

结果显示t=-0.64187,自由度df=38,p=0.5248,结果和课本一致。

以上就是使用R语言进行t检验的例子,希望对大家有帮助,如果有任何问题欢迎评论区留言或直接与我联系。

本文首发于公众号:医学和生信笔记

医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。

上一篇 下一篇

猜你喜欢

热点阅读