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

如何提取Store Location经纬度、检查变量类型并处理Date变量?

Ames Liquor 数据集处理方案

1. 提取 Store Location 中的经纬度

Store Location 通常是形如 (纬度值, 经度值) 的字符串,用 stringr(属于tidyverse工具集)可以轻松提取:

# 先加载tidyverse包
library(tidyverse)

# 提取纬度和经度并转为数值型
data <- data %>%
  mutate(
    latitude = str_extract(`Store Location`, "\\((-?\\d+\\.\\d+),") %>% 
      str_remove("\\(") %>% 
      as.numeric(),
    longitude = str_extract(`Store Location`, ",\\s*(-?\\d+\\.\\d+)\\)") %>% 
      str_remove(",\\s*|\\)") %>% 
      as.numeric()
  )

正则表达式说明:\\((-?\\d+\\.\\d+) 匹配括号开头后的带小数的数值(含负号),,\\s*(-?\\d+\\.\\d+)\\) 匹配逗号后、括号前的数值,最后清理多余字符转成数值型。

2. 检查变量类型

用以下两种方法快速查看所有变量的类型:

  • 基础R函数 str():
str(data)
  • tidyverse的 glimpse()(输出更紧凑直观):
glimpse(data)

运行后会列出每个变量的名称、类型及部分样本值。

3. 用lubridate处理Date变量

先加载lubridate包,然后转换日期格式并提取年、月、日:

library(lubridate)

data <- data %>%
  mutate(
    # 转换为标准日期格式,自动识别YYYY-MM-DD格式;若格式不同,可改用parse_date_time()
    date_formatted = ymd(Date),
    # 提取年、月、日
    year = year(date_formatted),
    month = month(date_formatted, label = TRUE), # label=TRUE返回月份名称(如Jan),FALSE返回数字
    day = day(date_formatted)
  )

如果原Date字段格式不是YYYY-MM-DD,比如是MM/DD/YYYY,可替换为 mdy(Date);不确定格式的话,用 parse_date_time(Date, orders = c("mdy", "dmy", "ymd")) 自动匹配常见格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:55:30