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

R语言如何拆分Date列为两列并调整..1列为病例数字段

R语言数据重构实现方案

核心处理逻辑

你的数据是按Frequency字段分组存储的,每组固定2行:第1行Date列存储真实日期,第2行Date列存储对应病例数值,...1列仅第2行有CasesNumbers标识,因此用分组聚合的方式处理最便捷。

完整实现代码

首先加载依赖包:

library(tidyverse)

执行数据重构:

df_final <- df1 %>%
  # 按Frequency分组,每组对应一条完整的日期+病例记录
  group_by(Frequency) %>%
  summarise(
    # 取每组第1行的Date值转标准日期格式
    Date = as.Date(Date[1], format = "%B %d, %Y"),
    # 取每组第2行的Date值转数值作为病例数
    CasesNumbers = as.numeric(Date[2]),
    # 按需设置原...1列为统一病例数字段标识
    `...1` = "CasesNumbers",
    .groups = "drop"
  )

运行后你会得到包含4个字段的规整数据集,如果不需要保留Frequency和...1列,直接在summarise后加%>% select(-Frequency, -...1)即可。

之前代码的问题说明

  1. separate函数的into参数要求传入字符向量,你写的into = 'Date','Number'属于语法错误,正确写法为into = c("Date", "Number")
  2. 你错误指定了待拆分的列,你要处理的是Date列,不是不存在的Number of Cases列
  3. 你的数据属于同组分行存储的结构,不是单单元格内用分隔符拼接的结构,因此不需要用字符串拆分类函数处理,分组聚合效率更高逻辑更清晰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:51:00