大家好,我是来自中南大学的病理生理学博士,前些天,我已经把肿瘤和对照正常组的基因表达情况进行了分析,通过分析我们得知我们所严格的gene,是有意义的。
然而,有些同学问,想知道基因数据与肿瘤亚型的相关性,笔者也进行了分析。首先,我意外之中通过TCGA数据挖掘到肿瘤临床信息,这个信息是很难分析出来。现进行展示:
很好,居然有甲状腺乳头状癌的型,不过未分化等其它的类型并没有找到。我们知道甲状腺乳头状癌常见分型,乳头状,滤泡状,高细胞型。一般高细胞型的预后很差。这个数据的信息太多了,有些后面的用不上,所以我在此去掉用不上了,代码如下:
clinic1<>
> View(clinic1)
> clinic1<>
> clinic2<>
> View(clinic2)
现在,我需要把我们的基因表达数据进行关联。用什么函数合并呢,首先我发现临床数据的SampleCode与我们昨天挖掘的数据结构sample列很相似,
只不过发现其是取了数据的前
12个字段。为了创造相同性,我们首先要进行字段的截取,记得以前作网站开发时常用substr函数,不知R程序能用不,其实一些程序员建议我去学下per语言,处理文本R不是它的强项,perl语言这方面的功能比R不知要强多少倍,不过我还是用R算了,代码如下:
express2$sample<>
神奇,居然实现了,这个函数在VB语言也常用。
由于我们研究的是肿瘤和临床信息的相关性,故要把正常组织去掉。代码如下:
express2<-express2[59:557,] ="" ="" ="" ="" ="" ="">
然后就需要合并处理了。试试inner join进行操作,看能成功不
result<>
出错了,没找到数据,什么原因,查看原始数据,发现原来有express2数据TCGA.BJ.A3PU。这里面是“.',我们要变成-。这才能和clinic2数据匹配。替换字符代码如下:
express2$sample<-chartr('.','-',>
成功显示:View(express2)
然后执行合并代码:
result<>
数据整理完毕,现在可以进行相关的统计学分析了,还是先把数据进行保存吧,怕系统出状况。
write.table(result,'result.xls',sep='\t',quote = TRUE)
然而,有个问题来了,我们要选择何种统计方法来检验我们的数据和临床相关性呢,查阅文献资料得知利用卡方检验比较多,需要设计三线表格。以前笔者从未画过三线表格,打算用R语句编程来画吧。
首先我们要对此表的gene 表达值进行转换为低表达和高达组,代码如下:
> meanp<>
> sum(result$value)/498
[1] 48.1747
> value<>
> result$value<>
> View(result)
突然发现,数据结构里没有年龄,要重新加载起来,重新从clincal数据库里加载
> library(TCGAbiolinks)
clinical <- gdcquery_clinic(project='TCGA-THCA' ,="" type='clinical'>
clinical$age_at_diagnosis<-round(clinical$age_at_diagnosis>
clinical<>
然后再合并吧
result<>
View(result)
临床信息资料需要对年龄进行分组,代码如下:
> age<><45,><45', '="">45')
> result$age<>
> View(result)
下面我们对肿瘤分期这一栏进行二分类,代码如下,当然你不怕累可以一个一个的自个输入,我喜欢自动生成,代码如下:
TumorStage<-ifelse(result$clinicalstage=='stage ii','="" i,ii',ifelse(result$clinicalstage="='Stage" i','="">
> result$TumorStage<>
> View(result)
同样,我要对临床病理分期、肿瘤大小进行二分类,淋巴结转移和远处转移本身就只有2分类,故不需要对数据进行处理。同时还发现一个问题,临床数据有好多缺失值,这个先要处理一下,这个数据框有些不同,NA值是长这样的[NA],而在R语言里,这种符号[]。是富有特殊含义的,因此了为方便,我想到了用EXCEL快速替换。替换完成后发现和R的数据结构还是有些不一样,我们要移动一下第一行,然后再减去第一列就OK了
rt=read.table('result.xls',sep='\t',header=T,check.names=F)
rt<>
result<>
数据空值,NA值有些是依据临床病理特点及多发性处理的,不过最好要有一种算法可以KNN去处理更好,不过是非数值变量,还是依据经验完成。
>Tumorsize<-ifelse(result$`t-status`=='t1',><2cm',>
>result$Tumorsize<>
> Pathologicalstaging<-ifelse(result$histotype=='thca-tallcell', 'thca-tallcell',="">
> result$Pathologicalstaging<>
> Lymphnode<-ifelse(result$`n-status`=='n0', 'no',="">
> result$Lymphnode<>
> metastasis<-ifelse(result$`m-status`=='m0', 'no',="">
> result$metastasis<>
> View(result)
这是不是和我们要做的卡方检验的元素很相似,下面我就可以生成四格表,做卡方检验和logist回归检验了。
随意我就生成了一个按组织分类的boxplot图
联系客服