如何匹配R中基因表达数据和临床数据中的ID?

时间:2017-01-21 09:45:13

标签: r

我有基因表达数据和相应的临床数据。 但是两个数据的ID不匹配。

 > clinical

 ID    Sex     Sex_code Age 
 A13  female       0   65    
 A14  female       0   66     
 B15   male        1   53     
 B16   male        1   23     
 C15   male        1   60    



    > expression

 Symbol      A12      A13      A14       A15      A16       B15
   A1BG    34197.7 45940.47 86621.41  11176.18 99574.66 129495.52
   A1CF    895.0   3191.00  1428.00   1501.00  1939.00    876.00
  A2BP1      0.0     5.00     0.00      0.00     0.00      0.00
  A2LD1    575.3    200.11   238.85   3492.56   477.28    405.35

我想在两个数据帧中提取仅匹配ID(A13,A14,B15)的数据,如:

 > clinical

 ID    Sex      Sex_code Age 
 A13 female        0    65     
 A14 female        0    66     
 B15   male        1    53   



    > Expression

 Symbol   A13          A14        B15
A1BG    45940.47    86621.41    129495.52
A1CF    3191         1428        876
A2BP1     5           0           0
A2LD1   200.11      238.85      405.35

我可以找出两个数据中哪个列和行匹配的ID。

> clinical$ID %in% colnames(expression)

[1]  TRUE  TRUE  TRUE FALSE FALSE

> colnames(expression) %in% clinical$ID 
[1] FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE

但我无法得到我想要的数据。 我试过......

A<-expression[, grep(unique(colnames(expression)) %in% clinical$ID, colnames(A))]
B<- which(rownames(clinical) %in% colnames(expression))
.
.

但失败了。 你能告诉我怎样才能得到它?

0 个答案:

没有答案