You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中使用gmapsdistance匹配距离与对应省份的问题求助

解决方法

你的output列表顺序和df3的行是完全对应的——因为apply(df3,1,...)是逐行处理每一行数据的,所以只要把列表里的Distance值提取出来,加到原数据框里就能和省份对应上。

方法一:用purrr包提取(代码更简洁)

没装过purrr先装包:

install.packages("purrr")
library(purrr)

然后一行代码提取Distance并添加到df3:

df3$distance <- map_dbl(output, ~ .x$Distance)

方法二:用基础R就行,不用额外装包

直接用sapply遍历列表提取值:

df3$distance <- sapply(output, function(x) x$Distance)

检查配对是否正确

把省份列和新的distance列拿出来看前几行,确认对应关系:

head(df3[, c("你的省份列名", "distance")]) # 记得把"你的省份列名"换成实际列名

要是还想把Time和Status也一起加上

可以直接把列表转成数据框,再和原df3合并:

# 用purrr的map_dfr把每个列表元素转成小数据框,再合并成大的
distance_info <- map_dfr(output, ~ data.frame(
  distance = .x$Distance,
  driving_time = .x$Time,
  request_status = .x$Status
))
# 和原数据框合并
result_df <- cbind(df3, distance_info)

内容的提问来源于stack exchange,提问作者Eunhyuk Elf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:35:12