我想將兩個data.tables合併爲一個。每個表中有三列(兩個座標x,y和一個賦值給座標的值),另一個表有兩列(兩個座標x和y)。但是,data.tables的座標略有不同,所以我想合併最近的座標。但是,只有最接近的座標。將data.table合併兩個LOWEST最接近的變量
我想要做的事情與Michiel(this thread)非常相似,如果我想擁有更低或更近的解決方案,該解決方案適用於我。但是,正如我之前所解釋的,我想在最靠近的位置滾動,其中data.table的功能是roll = Inf。
任何人的想法如何我可以重寫在另一個線程中提出的功能,或者是否有另一個功能可以幫助我。
這是數據的一個例子:
DT1 = data.frame(x=c(1,2,3,4,5,6,7,8,9,9,10),y=c(11,11,11,11,11,12,12,12,12,16,15))
DT2 = data.frame(x=c(1,1,1,6,6,6,10,10),y=c(11,12,13,11,12,13,14,16), name=c("A","B","C","D","E","F","G","H"))
繼前一個線程的功能,你會得到這樣的:
x y name
1: 1 11 A
2: 2 11 A
3: 3 11 A
4: 4 11 D
5: 5 11 D
6: 6 12 E
7: 7 12 E
8: 8 12 E
9: 9 12 G
10: 9 16 G
11: 10 15 G
但我想是這樣的:
x y name
1: 1 11 A
2: 2 11 A
3: 3 11 A
4: 4 11 **A** # Lowest nearest value of x:4 is 1 (A) not 6 (E)
5: 5 11 **A** # Lowest nearest value of x:5 is 1 (A) not 6 (E)
6: 6 12 E
7: 7 12 E
8: 8 12 E
9: 9 12 **E** # Lowest nearest value of x:9 is 6, and of y:12 is 12 thus E
10: 9 16 **F** # Lowest nearest value of x:9 is 6, and of y:16 is 15 thus F
11: 10 15 G
我希望這能說明我想要的。由於
對不起,我不認爲我完全理解你的問題......你能舉出一個你希望達到的輸出的例子嗎? – zwep
對不起,我不清楚,我會更改我的問題中的示例數據集 – AnoukStats
請測試您的代碼。 DT2發生錯誤。 – Frank