大家好,我是来自中南大学的病理生理学博士,前些天,我已经把肿瘤和对照正常组的基因表达情况进行了分析,通过分析我们得知我们所严格的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图 |
|