如何通过st_distance获取各养老院对应的最近医院名称及距离?
获取养老院对应最近医院的名称
当然可以实现这个需求,你只需要在现有代码基础上,找到每个最小距离对应的医院位置索引,再匹配医院名称即可。假设你的nursing_health数据框包含养老院名称列(比如nh_name),hospitals数据框包含医院名称列(比如hospital_name),以下是修改后的完整代码:
### Calculating the distance between Nursing Homes and Hospitals ### # 计算养老院到所有医院的距离(转换为英里) distances <- st_distance(nursing_health, hospitals) * 0.000621371 # 匹配最近医院名称并添加到结果中 nursing_health <- nursing_health %>% mutate( # 获取每所养老院对应的最近医院在hospitals中的索引 closest_hosp_idx = apply(distances, 1, which.min), # 提取最近医院的名称(替换为你实际的医院名称列名) closest_hospital_name = hospitals$hospital_name[closest_hosp_idx], # 保留原有的最近距离计算 distance_to_hospital = as.vector(apply(distances, 1, min)) ) # 可选:移除临时的索引列 nursing_health <- nursing_health %>% select(-closest_hosp_idx)
注意事项
- 请将代码中的
hospital_name替换为你hospitals数据框中实际存储医院名称的列名 - 如果需要显示养老院名称,确保
nursing_health中已有对应的列(比如nh_name),后续直接查看该列即可
内容的提问来源于stack exchange,提问作者Blue_Wolverine
相关产品推荐
相关产品推荐

