我正在尝试将 R 与tidyverse包一起使用,并且无法将函数应用于我的数据。我的数据包括纬度/经度坐标,我想计算从每个位置(我的数据框行)到参考位置的距离。我正在尝试使用geosphere::distm函数。
library(tidyverse)
library(geosphere)
my_long <- 172
my_lat <- -43
data <- data %>% rowwise() %>% mutate(
dist = distm(c(myLong, myLat), c(long, lat), fun=distHaversine) # this works
)
如上所述,我使用该rowwise()
功能使其工作,但这已被弃用,所以我想知道如何使用modern tidyverse
,即,dplyr
或者purrr
,我认为,例如,我得到的最接近的是使用map2:
my_distm <- function(long1, lat1, long2, lat2)
distm(c(long1, lat1), c(long2, lat2), fun=distHaversine)
data <- data %>% mutate(
dist = map2(long, lat, my_distm, my_long, my_lat) # this doesn't
)
到目前为止,我失败了。