我有两个具有空间点的数据集(在.csv格式中(:data1,具有220个空间点,具有纬度和经度的空间点,data2具有80个空间点,具有纬度和经度。对于Data2,我有一个协变量指示每个点的遗传来源。两个数据集中的空间点都不完全相同。
我想为数据1中的空间点分配遗传来源。似乎我需要在数据2中的每个点附近定义一个正方形(或其他(,以便能够在data1中的每个点上关联遗传来源。
我正在使用R,我认为包装是栅格或SP可能有用的。
感谢您的帮助。
最好,玛丽。
您需要下定决心要分配"遗传起源"。似乎暗示的一种方法是将其分配给其最近的邻居。
问一个问题时,您应该始终包含一些示例数据。
library(raster)
d1 <- data.frame(lon=c(1,5,55,31), lat=c(3,7,20,22))
d2 <- data.frame(lon=c(4,2,8,65,5,4), lat=c(50,-90,20,32,10,10), origin=LETTERS[1:6], stringsAsFactors=FALSE)
这是您可以基于最近已知原点
分配原点的方式# make sure your data are (x,y) or (longitude,latitude), not the reverse
pd <- pointDistance(d1, d2[,1:2], lonlat=TRUE)
nd <- apply(pd, 1, which.min)
d1$origin <- d2$origin[nd]