【发布时间】:2019-07-09 01:48:55
【问题描述】:
我想循环一些代码,检查 df1 的一行的纬度和经度与 df2 的所有纬度和经度行的距离,然后过滤小于 500 的距离。然后我想放弃向下到 df1 的下一行并执行相同的任务。
我可以在第一行实现它,但我没有成功循环它。
我已经尝试将它包装在一个循环函数中:
for (i in nrow(df3$value)){
df <- df2 %>%
filter(distHaversine(c(Longitude, Latitude), c(df3$Longitude[i], df3$Latitude[i])) <= 500)
df <- data.frame(df, df3$value[i])
}
但这并没有成功。
以下代码在复制到控制台时返回,针对 df3 的 1 行返回正确信息。我希望能够对 df3 的所有 75 行运行它。
df <- df2 %>%
filter(distHaversine(c(Longitude, Latitude), c(df3$Longitude[1], df3$Latitude[1])) <= 500)
df <- data.frame(df, df3$value[1])
【问题讨论】: