【发布时间】:2015-12-22 08:27:23
【问题描述】:
我有一个名为mymat 的矩阵。我有一个名为geno <- c("01","N1","11","1N","10") 的向量。我还有另一张桌子叫key.table。我想要做的是我想将key.table 中的key 列与mymat 中的key 列匹配,并且如果任何匹配行中的列值具有任何geno 元素,我想从mymat 中提取该列名以及匹配的geno 元素,并将其粘贴到key.table 中key.table 中每个key 的相应行中的新列中,并获得结果。
mymat <- structure(c("chr5:12111", "chr5:12111", "chr5:12113", "chr5:12114",
"chr5:12118", "0N", "0N", "1N", "0N", "0N", "00", "00", "00",
"11", "10", "00", "00", "1N", "0N", "00"), .Dim = c(5L, 4L), .Dimnames = list(
c("34", "35", "36", "37", "38"), c("key", "AMLM12001KP",
"AMAS-11.3-Diagnostic", "AMLM12014N-R")))
key.table<- structure(c("chr5:12111", "chr5:12111", "chr5:12113", "chr5:12114",
"chr5:12118", "chr5:12122", "chr5:12123", "chr5:12123", "chr5:12125",
"chr5:12127", "chr5:12129", "9920068", "9920069", "9920070",
"9920071", "9920072", "9920073", "9920074", "9920075", "9920076",
"9920077", "9920078"), .Dim = c(11L, 2L), .Dimnames = list(c("34",
"35", "36", "37", "38", "39", "40", "41", "42", "43", "44"),
c("key", "variantId")))
结果
key variantId matched.extract
34 "chr5:12111" "9920068" NA
35 "chr5:12111" "9920069" NA
36 "chr5:12113" "9920070" AMLM12001KP (1N),AMLM12014N-R (1N)
37 "chr5:12114" "9920071" AMAS-11.3-Diagnostic (11)
38 "chr5:12118" "9920072" AMAS-11.3-Diagnostic (10)
39 "chr5:12122" "9920073" NA
40 "chr5:12123" "9920074" NA
41 "chr5:12123" "9920075" NA
42 "chr5:12125" "9920076" NA
43 "chr5:12127" "9920077" NA
44 "chr5:12129" "9920078" NA
【问题讨论】:
-
所以我们只对“1N”、“11”和“10”的值感兴趣?你不清楚。
-
@MikeWise 没错,我们只想在单元格具有这些值中的任何一个时才提取。
标签: r