我有两个带空间点的数据集(.csv格式):data1有220个空间点,纬度和经度,data2有80个空间点,纬度和经度。对于数据2,我有一个协变量表明每个点的遗传起源。两个数据集中的空间点不完全相同。
我想为data1中的空间点分配遗传来源。似乎我需要在data2中的每个点周围定义一个正方形(或其他),以便能够在data1中的每个点关联遗传起源。
我正在使用R,我认为封装为raster或sp可能很有用。
感谢您的帮助。
最佳, 玛丽。
答案 0 :(得分:1)
你需要考虑如何分配"遗传起源"。似乎暗示的一种方法是将其分配给最近的邻居。
在提问时,您应该始终包含一些示例数据。
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]