我有一個R數據框,其中有一個數字向量表示染色體位置和基因名稱向量。我也有該染色體上有趣元素的起始位置向量。我想提取每個元素上方和下方3個最接近基因的名稱和位置,我想知道這是最有效的方法。在矢量中高效找到相鄰值
例如:
genes <- data.frame("geneStart"=sort(sample(500,10)), "geneName"=sample(LETTERS,10))
genes
geneStart geneName
1 66 X
2 158 U
3 262 N
4 385 D
5 387 H
6 418 Z
7 464 J
8 469 Y
9 475 L
10 491 I
我想用一個函數來結束了,讓我們把它getAdjacent
,像這樣:
getAdjacent(280)
[1] "X" "U" "N" "D" "H" "Z"
getAdjacent(479)
[1] "J" "Y" "L" "I" NA NA
當你說最近的3,你的意思是包含元素,那麼無論是3上面和下面2,反之亦然基因?你是基於基因長度來決定的嗎? –