将与空间点相关联的协变量分配给R中更大的空间点集合?

时间:2018-02-12 08:18:50

标签: r geospatial r-raster

我有两个带空间点的数据集(.csv格式):data1有220个空间点,纬度和经度,data2有80个空间点,纬度和经度。对于数据2,我有一个协变量表明每个点的遗传起源。两个数据集中的空间点不完全相同。

我想为data1中的空间点分配遗传来源。似乎我需要在data2中的每个点周围定义一个正方形(或其他),以便能够在data1中的每个点关联遗传起源。

我正在使用R,我认为封装为raster或sp可能很有用。

感谢您的帮助。

最佳, 玛丽。

1 个答案:

答案 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]