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

如何用R从字符串中提取经纬度数值?求R代码实现

R代码提取经纬度列

假设你的数据框是df,其中包含一列名为geo_str的字符串数据,我们可以用stringr包的str_extract配合正则表达式来提取目标值:

# 加载所需包
library(tidyverse)

# 构造示例数据
df <- tibble(
  geo_str = "geo:lat:55.892994,lng:10.510947,address:content:NA"
)

# 提取纬度和经度并生成新列
df <- df %>%
  mutate(
    column1 = as.numeric(str_extract(geo_str, "(?<=lat:)\\d+\\.\\d+")),
    column2 = as.numeric(str_extract(geo_str, "(?<=lng:)\\d+\\.\\d+"))
  )

# 查看结果
df

代码说明:

  • (?<=lat:) 是正向零宽断言,用于匹配lat:之后的内容,不会把lat:本身包含在提取结果里
  • \\d+\\.\\d+ 匹配带小数点的数值(整数部分+小数点+小数部分),确保只提取经纬度的数值部分
  • as.numeric() 将提取到的字符串转换为数值类型,方便后续分析

如果你的数据有多行,这段代码同样适用,会逐行处理每个字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:20:40