既往我们已经介绍了compareGroups包制作SCI论文表一,今天我们继续来介绍compareGroups包制作数据的组间趋势p for trend。
我们除了需要compareGroups包外还需要导入一个glue包,不然就会报错。
我们还是使用既往的乳腺癌数据,先导入R包和查看数据
library(foreign)
library(compareGroups)
library(glue)
bc <- read.spss("E:/r/test/Breast cancer survival agec.sav",
use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)
head(bc)
把分类变量转换成因子
bc$lnpos <- factor(bc$lnpos)
bc$histgrad <- factor(bc$histgrad)
bc$er<- factor(bc$er)
bc$pr <- factor(bc$pr)
bc$status<- factor(bc$status)
bc$pathscat<- factor(bc$pathscat)
bc$ln_yesno<- factor(bc$ln_yesno)
假设我们想看以病理组织学分组,查看情况
descrTable( histgrad~ ., data = bc)####.符号代表包括其他的变量
假设我们想了接组间的趋势变化,也就是我们通常说得p for trend,这里需要注意一下,要求出组间趋势(p for trend),histgrad必须转成因子,而且组间变量最好有3个以上
descrTable( histgrad~ ., data = bc,show.p.trend=T,show.all=T)
如需要查看组间比较
descrTable( histgrad~ ., data = bc,show.p.trend=T,show.p.mul=T)
假如我们想比较是否有淋巴结肿大对预后的影响
我们先生成一个基础的死亡概率指标
bc$pre<-with(bc, Surv(time, status==1))
attr(bc$pre,"label")<-"Mortality"##加个标签
head(bc)
使用compareGroups生成表
res <- compareGroups(ln_yesno~histgrad+age+pathsize+er+pathscat, data = bc,ref.no='no')
res
使用createTable函数进行分类
restab <- createTable(res, show.ratio = TRUE, hide.no = 'no')
restab
这样,一个简单的SCI表二就做好了,但要注意这里显示的是OR,假设我们想知道患者5年内的生存率比较
update(restab, x = update(res,ln_yesno~.+pre, timemax = 5*12))
这样生存率比较的结果就出来啦,我们可以看到,有淋巴结转移的明显死亡率高于无淋巴结转移的
我们还可以把它改为两大组,假设一列为临床指标,一列为实验室指标
rbind("linchuangzhibiao"=restab[1:4],"shiyanshizhibiao"=
restab[5:length(res)])
也可以按列分层,我这里就不演示了