将与空间点相关的协变量分配给R中的一组空间点



我有两个具有空间点的数据集(在.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]

最新更新