我有一個數據幀mydf
。我也有一個叫做myvec <- c("chr5:11", "chr3:112", "chr22:334")
的載體。如果任何向量元素與mydf
中的鍵相匹配並且生成mydf
(result
)的子集,我想要做的是選擇行的範圍(包括上面的3個值和下面的3個值)。如何選擇R的行範圍
由於在myvec
我們CHR5:11匹配與mydf
關鍵,我們選擇行匹配CHR5:8(下面三個值),以CHR5:14(上述三個值)在result
。
mydf<- structure(list(key = structure(c(5L, 2L, 7L, 8L, 4L, 1L, 6L,
3L, 11L, 10L, 9L), .Names = c("34", "35", "36", "37", "38", "39",
"40", "41", "42", "43", "44"), .Label = c("chr5:10", "chr5:11",
"chr5:1123", "chr5:118", "chr5:12", "chr5:123", "chr5:13", "chr5:14",
"chr5:19", "chr5:8", "chr5:9"), class = "factor"), variantId = structure(1:11, .Names = c("34",
"35", "36", "37", "38", "39", "40", "41", "42", "43", "44"), .Label = c("9920068",
"9920069", "9920070", "9920071", "9920072", "9920073", "9920074",
"9920075", "9920076", "9920077", "9920078"), class = "factor")), .Names = c("key",
"variantId"), row.names = c("34", "35", "36", "37", "38", "39",
"40", "41", "42", "43", "44"), class = "data.frame")
結果
key variant
43 "chr5:8" "9920077"
42 "chr5:9" "9920076"
39 "chr5:10" "9920073"
35 "chr5:11" "9920069"
34 "chr5:12" "9920068"
36 "chr5:13" "9920070"
37 "chr5:14" "9920071"
根據您的dput,'mydf'是一個矩陣,而不是一個data.frame 。請修復。 –
@Pascal謝謝,我已修復它。 – MAPK