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

R语言按多组日期间隔提取对应列生成新数据框的实现方法

R实现多区间分字段提取合并方案

使用tidyverse包即可快速完成需求,注意你的真实数据中date字段为字符型,需要先转换为日期格式再执行筛选操作,避免逻辑错误。

步骤1:加载依赖包

library(tidyverse)

步骤2:处理日期字段格式

real_data <- real_data %>% 
  mutate(date = as.Date(date))

步骤3:分区间提取对应数值并标注类型

# 区间1:提取2021-10-12至2021-10-15的value1,标注type=1
df1 <- real_data %>%
  filter(between(date, as.Date("2021-10-12"), as.Date("2021-10-15"))) %>%
  transmute(date, value = value1, type = 1)

# 区间2:提取2021-10-16至2021-10-18的value2,标注type=2
df2 <- real_data %>%
  filter(between(date, as.Date("2021-10-16"), as.Date("2021-10-18"))) %>%
  transmute(date, value = value2, type = 2)

# 区间3:提取2021-10-21至2021-10-23的value3,标注type=3
df3 <- real_data %>%
  filter(between(date, as.Date("2021-10-21"), as.Date("2021-10-23"))) %>%
  transmute(date, value = value3, type = 3)

步骤4:合并为最终单列数据框

final_df <- bind_rows(df1, df2, df3)

# 可选操作:剔除value为NA的无效行
final_df <- final_df %>% drop_na(value)

最终输出的final_df包含三个字段:原始日期date、提取到的对应数值value、所属区间标识type,完全匹配需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:03