在SCI论文中,我们经常可以看见一些这样的表格,大多数命名表格2,主要用来表示原因和结果的单因素分析的关系或者是分组变量的关系,如下图
这样论文中的表格数不胜数,今天我们通过一个实例数据演示告诉大家怎么一步一步把这样的表格做出来。 我们今天先来做一个这样的表格,如下图,这张表我们我们先分析一下它要表达的是什么?主要是表达单因素和结果变量之间的关系,对单因素的变量进行了分组分析,一些分类变量如性别、是否吸烟也进行了分组比较
我们使用SPSS自带的一个Breast cancer survival肿瘤数据来演示,首先我们把这个数据导入R,并且删除缺失值(这里只是演示怎么做表格,真正分析不能这样删除缺失值的), library(foreign) library(survival) bc <- read.spss(“E:/r/Breast cancer survival agec.sav”, use.value.labels=F, to.data.frame=T) bc <- na.omit(bc)
查看一下数据的变量 head(bc)
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。 假设我们想知道年龄和生存关系的影响,我们可以先对年龄进行分组 age1<-cut(bc$age,breaks = 3,labels = c(1,2,3))#平均分为3个区间,命名为1,2,3 dc<-cbind(bc,age1)#把变量加入表格
首先来做age和死亡结局的关系的单因素分析,本来这里有时间变量,应该做COX回归的,但是我这里为了演示数据只用广义线性方程,其实使用COX回归方程也是一样的。
先开始进行死亡结局和年龄的单因素分析,把age1带入方程 f.age <- glm(status ~ age1, family = binomial, data = dc) summary(f.age)
计算OR和95%CI exp(confint(f.age)) exp(coef(f.age))
结果已经出来了,怎么分析呢,主要是看age12,age13这里,我们原来age1分了3个区间,这里为什么只有两个呢,因为我们age12,age13都是和age11进行比较的,所以age11等于1也先建一个word表格,把年龄填上
下面来做一个分类变量的,ln_yesno(是否有淋巴结肿大),先把它转换为分类变量,
继续解析 f.ln_yesno <- glm(status ~ ln_yesno, family = binomial,data = dc) summary(f.ln_yesno)
继续求OR和95%CI exp(confint(f.ln_yesno)) exp(coef(f.ln_yesno))
继续填表
至此,连续变量和分类变量我们都做出来了,其他指标照做就可以完成此表了,看着有点麻烦,其实就是换换变量,不到20分钟就做出来了。
|
请发表评论