我在一个数据集“ df1”中大约有1000个点,它们的坐标分散在整个坐标系中。在另一个数据集“ df2”中,我在整个坐标系上放置了27个点。
对于df1中的每个点,我想估计与df2中的点最接近的距离,该点位于165-225°的方向(相对于单位圆)内。
如何在R中完成此操作?
如果方向无关紧要,那么我可以使用Finding closest point from other data frame
中的方法解决问题此答案建议将两个数据集定义为数据表,然后使用以下功能:
dist <- function(a, b){
dt <- data.table((df2$x-a)^2+(df2$y-b)^2)
return(which.min(dt$V1))}
results <- df1[, j = list(Closest = dist(x, y)), by = 1:nrow(df1)]
但是,我不确定如何将其与指导标准结合起来。
非常感谢您。
最诚挚的问候
Ditlev