我有一个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