我想分析基因在TCGA (癌症基因组图谱)数据中的表达,这些数据是从宽频火龙下载的。我下载了结直肠癌(COAD)基因表达数据。该数据是由329个变量的20531个观测结果组成的数据框架(命名数据)。行是单个基因,每一个样本的归一化读取。标题或列名是TCGA示例代码。示例代码如下所示:
TCGA-3L-a1b-01A-11R-A37K-07
当我把表上传到R中时,它会变成
TCGA.3L.AA1B.01A.11R.A37K.07我想要做的是提取出第四件事是01的样本。例如,对于上面的列标题,第四件事是01A,重要的是它是01,这表明它是一个原发性肿瘤。如何提取列标题中的第四件事是01的所有列
谢谢!
head(data)
Hybridization.REF TCGA.3L.AA1B.01A.11R.A37K.07 TCGA.4N.A93T.01A.11R.A37K.07
1 ?|100130426 0.5174 0
2 ?|100133144 18.0851 4.4315
3 ?|100134869 15.764 4.2767
TCGA.4T.AA8H.01A.11R.A41B.07 TCGA.5M.AAT4.01A.11R.A41B.07 TCGA.5M.AAT5.01A.21R.A41B.07
1 0 0 0
2 9.8995 7.9174 12.2565
3 11.3032 18.7608 20.8826
TCGA.5M.AAT6.01A.11R.A41B.07 TCGA.5M.AATA.01A.31R.A41B.07 TCGA.5M.AATE.01A.11R.A41B.07
1 0 0 0
2 3.9637 7.2366 11.629
3 15.0672 11.4513 6.906发布于 2019-01-29 04:43:08
一般的分摊方法是将.上的列名与strsplit分开,并检查第四个组件是否等于'01'。因为.是一个特殊的字符,所以您必须使用\\.。下面是它的样子:
df[sapply(strsplit(colnames(df), '\\.'), '[', 4) == '01']https://stackoverflow.com/questions/54411849
复制相似问题