我有两个数据集,我正在try 根据纬度将它们合并在一起.纬度并不完全匹配,所以它必须是最接近的纬度,比方说30公里.当我try 完全联接时,输出数据帧是连续的(即,它输出df然后是df2,而不是合并/联接它们.有没有办法根据这两个数据帧在纬度上的距离将它们合并为一个数据帧?

Var1 <- c(1, 4, 6, 2, 8, 9, 2, 4, 5, 4)
Var2 <- c(1.9, 2.4, 3.7, 7.3, 2.4, 4.8, 9, 2.3, 9, 1.7)
Lat <- c(57.33, 58.21, 58.93, 59.23, 59.87, 60.29, 60.99, 61.5, 61.8, 62.5)
Lon <- c(131, 131, 131, 130.9, 130.99, 130.5, 131, 131, 131.2, 131)

df <- as.data.frame(cbind(Var1, Var2, Lat, Lon))

Var1 <- c(4, 3, 6, 8, 1, 9, 3, 6, 5, 8)
Var2 <- c(6.2, 3, 5.6, 5.1, 9.0, 2.4, 4.9, 8.2, 3.1, 6.2)
Lat <- c(57.15, 58.3, 59.0, 59.4, 60.0, 60.1, 61.0, 61.6, 62, 62.7)
Lon <- c(131, 131, 131, 130.9, 130.99, 130.5, 131, 131, 131.2, 131)

df2 <- as.data.frame(cbind(Var1, Var2, Lat, Lon))

Vic = df%>%
  full_join(df2, by = c("Lat" = "Lat"))

我也try 了geo_Join,但收到一个错误

merged.dfs <- geo_join(df, df2, by = NULL, method = "haversine", mode = "left", max_dist = 1) 

Joining by: c("Var1", "Var2", "Lat", "Lon")
Error in FUN(X[[i]], ...) : 
Trying to join on Var1, Var2, Lat, Lon; geo_join needs exactly   two columns (latitude and longitude)

推荐答案

fuzzyjoin套装和geo_join功能绝对是正确的 Select . 您的try 已接近尾声,您只需设置一些参数即可,正如错误所述.

library(fuzzyjoin)
Var1 <- c(1, 4, 6, 2, 8, 9, 2, 4, 5, 4)
Var2 <- c(1.9, 2.4, 3.7, 7.3, 2.4, 4.8, 9, 2.3, 9, 1.7)
Lat <- c(57.33, 58.21, 58.93, 59.23, 59.87, 60.29, 60.99, 61.5, 61.8, 62.5)
Lon <- c(131, 131, 131, 130.9, 130.99, 130.5, 131, 131, 131.2, 131)

df <- as.data.frame(cbind(Var1, Var2, Lat, Lon))

Var1 <- c(4, 3, 6, 8, 1, 9, 3, 6, 5, 8)
Var2 <- c(6.2, 3, 5.6, 5.1, 9.0, 2.4, 4.9, 8.2, 3.1, 6.2)
Lat <- c(57.15, 58.3, 59.0, 59.4, 60.0, 60.1, 61.0, 61.6, 62, 62.7)
Lon <- c(131, 131, 131, 130.9, 130.99, 130.5, 131, 131, 131.2, 131)

df2 <- as.data.frame(cbind(Var1, Var2, Lat, Lon))

Vic <-  df%>%
  geo_join(df2, by = c("Lat" = "Lat", "Lon" = "Lon"), method = "haversine", mode = "left", max_dist = 30, unit = "km" )

如果需要,请查看this documentation

R相关问答推荐

R的GG平行坐标图中的排序变量

如何根据条件计算时差(天)

如何根据组大小应用条件过滤?

R for循环返回到先前值

使用ggsankey调整Sankey图中单个 node 上的标签

如何使下一个按钮只出现在Rshiny 的一段时间后?""

R中的时间序列(Ts)函数计数不正确

在不丢失空值的情况下取消列出嵌套列表

将二进制数据库转换为频率表

从多个线性回归模型中提取系数

如何在科学记数法中显示因子

`夹心::vcovCL`不等于`AER::tobit`标准错误

函数可以跨多个列搜索多个字符串并创建二进制输出变量

Geom_arcbar()中出错:找不到函数";geom_arcbar";

为什么在写入CSV文件时Purrr::Pwalk不起作用

如何筛选截止年份之前最后一个测量年度的所有观测值以及截止年份之后所有年份的所有观测值

以任意顺序提取具有多个可能匹配项的组匹配项

在ggploy中创建GeV分布时出错

roxygen2正在处理太多的文件

对计算变量所有唯一值的变量进行变异