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

如何在R语言中计算同一数据集内两个日期列的差值

R语言实现日期差计算方法

前置说明

你当前数据集中的date1、date2列均为字符类型,计算天数差前需要先转换为R识别的日期格式,再做差值计算即可。


方法1:基础R实现

无需加载额外包,直接用基础函数处理:

# 转换为日期格式
df$date1 <- as.Date(df$date1)
df$date2 <- as.Date(df$date2)
# 计算日期差生成X变量
df$X <- as.numeric(df$date2 - df$date1)

运行后你示例中date2=2021-07-03、date1=2021-06-28对应的X值为5,符合需求。如果需要忽略日期先后取正数差值,可以把赋值语句改为df$X <- abs(as.numeric(df$date2 - df$date1))。


方法2:tidyverse生态实现

习惯用dplyr、lubridate的场景可以用该方法:

library(dplyr)
library(lubridate)

df <- df %>%
  mutate(
    date1 = ymd(date1),
    date2 = ymd(date2),
    X = as.numeric(date2 - date1)
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:27:02