R语言如何为经纬度计算的距离矩阵添加对应城市名称
R语言经纬度距离矩阵添加城市名解决方案
- 你只需要在计算完距离矩阵后,按原始数据的顺序给矩阵的行名、列名赋值城市名即可,操作逻辑如下:
# 先加载依赖包(如果未加载请先运行) library(geosphere) # 假设你的原始三列数据框名为df,列顺序为 城市名/经度/纬度 # 提取城市名向量 city_vec <- df[[1]] # 提取经纬度列用于计算距离 coord_df <- df[, 2:3] # 计算距离矩阵(单位:米) dist_mat <- distm(coord_df, fun = distGeo) # 为距离矩阵添加对应城市名的行名和列名 rownames(dist_mat) <- city_vec colnames(dist_mat) <- city_vec # 查看结果前几行验证 head(dist_mat)
- 适配1152行大数据量场景的补充操作:
- 若需要将距离单位转换为公里,直接整体运算即可:
dist_mat_km <- dist_mat / 1000 - 若需要转为长表做后续统计,可使用
as.data.frame(as.table(dist_mat))快速转换格式
- 若需要将距离单位转换为公里,直接整体运算即可:
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

