教你一步得到t检验结果的三线表 | 您所在的位置:网站首页 › ttest值判断 › 教你一步得到t检验结果的三线表 |
最近很多小伙伴们毕业,你的毕业论文修改了几次呢?大家可能都不一样,可能有人修改了十几版,有人二十几版,如果你修改次数是一位数,你应该是一位幸运儿了。每次修改的原因各不相同,但涉及到数据的变动是最苦恼的了,即使是增删一个病例的信息,几乎所有数据都要重新计算,结果都得重新改,改到最后想死的心都有了。小编也是痛大家这所痛,在我科室另外一位朱小编的帮助下,实现了一步实现t检验并输出到三线表中。当然我们需要R软件,没有接触过R软件的也没有关系,按下面的操作步骤也能轻松实现。
首先做一下准备工作,从R(http://www.r-project.org)官网下载R软件,安装很简单,双击程序按默认的参数安装即可。然后打开R软件,安装三个软件包:foreign、dplyr、ReporteRs。安装方法是运行下面三行程序: installed.packages("foreign") installed.packages("dplyr") installed.packages("ReporteRs") 确认安装成功后,运行下面程序,不需要改任何参数,直接运行即可:(下面程序是建立一个函数) rm(list=ls()) table_ttest=function(data=NULL,testvar=NULL,groupvar=NULL,groupcode=c(1,2),digits=2){ library(dplyr) library(ReporteRs) var=testvar; tabledata=as.data.frame(var); attach(data) for(j in 1:length(testvar)) { for (i in1:(as.numeric(length(names(data))))){ if (names(data)[i]==testvar[j])ntest=as.numeric(i); if (names(data)[i]==groupvar)ngroup=as.numeric(i); } mean_g1=mean(data[,ntest][data[,ngroup]== groupcode[1]]) sd_g1=sd(data[,ntest][data[,ngroup]== groupcode[1]]) tabledata$n1[j]=as.numeric(table(data[,ngroup][data[,ngroup]== groupcode[1]])) tabledata$group1[j]=paste(round(mean_g1,digits=digits),"±",round(sd_g1,digits=digits),sep=""); mean_g2=mean(data[,ntest][data[,ngroup]== groupcode[2]]) sd_g2=sd(data[,ntest][data[,ngroup]== groupcode[2]]) tabledata$n2[j]=as.numeric(table(data[,ngroup][data[,ngroup]== groupcode[2]])) tabledata$group2[j]=paste(round(mean_g2,digits=digits),"±",round(sd_g2,digits=digits),sep=""); ttestout=with(data,t.test(data[,ntest][data[,ngroup] == groupcode[1]], data[,ntest][data[,ngroup]== groupcode[2]],var.equal=T)) tabledata$tvalue[j]=round(as.numeric(ttestout$statistic),digits=3) tabledata$pvalue[j]=round(ttestout$p.value,digits=3) if(tabledata$pvalue[j]==0)tabledata$pvalue[j]=" |
CopyRight 2018-2019 实验室设备网 版权所有 |