【R语言】因子在临床分组中的应用

2022-09-21 17:47:30 浏览数 (1)

前面给大家简单介绍了

☞【R语言】R中的因子(factor)

今天我们来结合具体的例子给大家讲解一下因子在临床分组中的应用。

我们还是以TCGA数据中的CHOL(胆管癌)这套数据为例。关于这套临床数据的下载可以参考

☞如何从TCGA数据库下载RNAseq数据以及临床信息(一)

前面我们也给大家介绍过一些处理临床数据的小技巧

☞【R语言】卡方检验和Fisher精确检验,复现临床paper

☞R生成临床信息统计表

☞玩转TCGA临床信息

☞TCGAbiolinks获取癌症临床信息

接下来我们先读入临床数据

代码语言:javascript复制
#读取临床数据
clin=read.table("clinical.tsv",header=T,sep="t",quote="")
#去除重复的行
index=!duplicated(clin$case_submitter_id)
#提取非重复的样本的临床信息
clin=clin[index,]

可以得到如下临床信息表

前面给大家讲过☞肿瘤TNM分期,我们知道组织病理分期分成stage I,stage II,stage III和stage IV四个分期

接下来我们试着把组织病理分期从四个组合并成两个组,并转换成因子

方法一、使用gsub函数

前面也给大家介绍过☞R替换函数gsub

代码语言:javascript复制
#删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB
stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage)
#将Stage III和Stage IV替换成stage III/IV
stage=gsub("Stage IV.*","stage III/IV",stage)
stage=gsub("Stage III.*","stage III/IV",stage)
#将剩下的Stage I和Stage II替换成stage I/II
stage=gsub("Stage.*","stage I/II",stage)
#转换成因子
stage=factor(stage)
stage

可以得到下面这个两分组的因子

方法二、直接使用factor函数

代码语言:javascript复制
#删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB
stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage)
#通过设置levels和labels实现合并
stage=factor(stage,levels=c("Stage I","Stage II","Stage III","Stage IV"),labels = c("stage I/II","stage I/II","stage III/IV","stage III/IV"))
stage

可以得到跟上面使用gsub一样的结果

接下来我们试着把组织病理分期从四个组合并成三个组,并转换成因子

方法一、使用gsub函数

代码语言:javascript复制
#删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB
stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage)
#将Stage III和Stage IV替换成stage III/IV,剩下的stageI和II保持不变
stage=gsub("Stage IV.*","stage III/IV",stage)
stage=gsub("Stage III.*","stage III/IV",stage)
#转换成因子
stage=factor(stage)
stage

可以得到如下因子

方法二、直接使用factor函数

代码语言:javascript复制
#删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB
stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage)
#通过设置levels和labels实现合并
stage=factor(stage,levels=c("Stage I","Stage II","Stage III","Stage IV"),labels = c("stage I","stage II","stage III/IV","stage III/IV"))
stage

可以得到跟gsub一样的结果

参考资料:

☞【R语言】R中的因子(factor)

☞如何从TCGA数据库下载RNAseq数据以及临床信息(一)

☞【R语言】卡方检验和Fisher精确检验,复现临床paper

☞R生成临床信息统计表

☞玩转TCGA临床信息

☞TCGAbiolinks获取癌症临床信息

☞肿瘤TNM分期

☞R替换函数gsub

0 人点赞