R语言:TCGA数据分析一

引言

我最近在做TCGA数据分析,在处理中遇到的问题及其收获。主要包括:

  • case ID 大小写处理

  • 数据的匹配

涉及到的函数有:

小写

  • tolower

大写

  • toupper

单一的局部匹配

  • grep

多个全局匹配

  • match

保留固定长度的字符

  • substr

大小写处理

在RANseqGene中case ID 为大写的,而Clincial中为小写的。需要对case ID 做转换。

方案一:大写变小写

tolower(colnames(LUAD_RNAseqGene))

方案二:小写变大写

toupper(rownames(LUAD_Clinical))

匹配

grep

在找tumor 的case ID 时,需要采用这个函数将所有的tumor 找出来。

grep("\\.01A",colnames(LUAD_RNAseqGene))

对于normal的查找类似处理。

substr

由于case ID 很长,我们只需要前面的12或16个字符来作为识别验证。

substr(colnames(LUAD_Clinical),1,12) # 保留12位

match

RNA中映射到Clinical中,采用这个函数

例子

#定义a
> a<-c(1,2,3,4)
#定义b
> b<-c(3,4,5,6,7)
#匹配
> match(a,b)  
[1] NA NA  1  2  
#a和b中共同的元素
> a[-which(is.na(match(a,b)))]
[1] 3 4
#a和b中共同的元素
> b[match(a,b)]
[1] NA NA  3  4
#a中有的元素而不在b中
> a[is.na(match(a,b))]
[1] 1 2

注:match的结果长度与a保持一致,NA表示该位置元素不在b中,非NA表示该元素在b中的位置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容