У меня есть набор данных с некоторыми местоположениями:
ex <- data.frame(lat = c(55, 60, 40), long = c(6, 6, 10))
и чем у меня есть климатические данные
clim <- structure(list(lat = c(55.047, 55.097, 55.146, 55.004, 55.054,
55.103, 55.153, 55.202, 55.252, 55.301), long = c(6.029, 6.0171,
6.0051, 6.1269, 6.1151, 6.1032, 6.0913, 6.0794, 6.0675, 6.0555
), alt = c(0.033335, 0.033335, 0.033335, 0.033335, 0.033335,
0.033335, 0.033335, 0.033335, 0.033335, 0.033335), x = c(0, 0,
0, 0, 0, 0, 0, 0, 0, 0), y = c(1914, 1907.3, 1901.8, 1921.1,
1914.1, 1908.3, 1902.4, 1896, 1889.8, 1884)), row.names = c(NA,
10L), class = "data.frame", .Names = c("lat", "long", "alt",
"x", "y"))
lat long alt x y
1 55.047 6.0290 0.033335 0 1914.0
2 55.097 6.0171 0.033335 0 1907.3
3 55.146 6.0051 0.033335 0 1901.8
4 55.004 6.1269 0.033335 0 1921.1
5 55.054 6.1151 0.033335 0 1914.1
6 55.103 6.1032 0.033335 0 1908.3
7 55.153 6.0913 0.033335 0 1902.4
8 55.202 6.0794 0.033335 0 1896.0
9 55.252 6.0675 0.033335 0 1889.8
10 55.301 6.0555 0.033335 0 1884.0
Что я хочу сделать, это "объединить" оба набора данных, чтобы иметьклиматические данные в файле ex
.Значения lat
и long
в ex
отличаются от значений lat
и long
в clim
, поэтому их нельзя объединить напрямую (то же самое для long
).Мне нужно найти лучшую точку (ближайшая точка в clim
для каждой строки в ex
с учетом lat
и long
)
Ожидаемый результат для примера:
lat long alt x y
1 55 6 0.033335 0 1914.0
2 60 6 0.033335 0 1884.0
3 40 10 0.033335 0 1921.1