您的位置:首页 > 其它

R语言:TCGA数据分析一

2016-08-13 12:44 453 查看

引言

我最近在做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中的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息