我有兩個數據幀,並希望使用一個(DF1$pos
)中的值來搜索DF2(DF2start,DF2end)中的兩列,並且如果它落在這些數字中,則返回DF2$name
在範圍內的數據幀查找值並返回不同列
DF1
ID pos name
chr 12
chr 542
chr 674
DF2
ID start end annot
chr 1 200 a1
chr 201 432 a2
chr 540 1002 a3
chr 2000 2004 a4
所以在這個例子中,我想DF1成爲
ID pos name
chr 12 a1
chr 542 a3
chr 674 a3
我已經使用合併和相交,但不知道如何使用if
聲明與他們的邏輯表達式嘗試。
的數據幀應如下編碼,
DF1 <- data.frame(ID=c("chr","chr","chr"),
pos=c(12,542,672),
name=c(NA,NA,NA))
DF2 <- data.frame(ID=c("chr","chr","chr","chr"),
start=c(1,201,540,200),
end=c(200,432,1002,2004),
annot=c("a1","a2","a3","a4"))
我沒有投下這個問題,但我認爲無論誰這麼做都是因爲你沒有把你的數據拼湊起來R在R格式 – user1945827