首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R错误:使用Geosphere包时,向量的长度错误,应为2

R错误:使用Geosphere包时,向量的长度错误,应为2
EN

Stack Overflow用户
提问于 2021-05-25 22:28:44
回答 1查看 174关注 0票数 0

我正在尝试分析两个位置之间的平均距离,以便为自动批准旅行距离提供一个可接受的截止点。我已经引用了(geosphere distHaversine() & dplyr - error wrong length for vector, should be 2)和(Getting Error in .pointsToMatrix(p1) : Wrong length for a vector, should be 2),但是我无法调试错误并完成我的分析。

data frame是这样的,有10行数据。

代码语言:javascript
复制
df <- c(lat1,long1,lat2,long2)

df matrix with 10 rows of data

当我尝试使用以下代码时

代码语言:javascript
复制
df %>% rowwise() %>% mutate(HVRSINE = distHaversine(c(df$long1,df$lat1),c(df$long2,df$lat2)))

错误如下所示:

代码语言:javascript
复制
Error: Problem with `mutate()` column `HVRSINE`.
x Wrong length for a vector, should be 2

The error occurred in row 1.

当我手动编写lat,long for in disthaversine时,输出效果很好。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-05-25 22:33:44

试一试

代码语言:javascript
复制
library(tidyverse)
df %>%
  mutate(HVRSINE = unlist(pmap(list(a = long1, 
                                    b = lat1, 
                                    x = long2,
                                    y = lat2),
                               ~ distHaversine(c(..1, ..2), c(..3, ..4)))))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67690059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档