📜  如何在 R 中创建日期范围

📅  最后修改于: 2022-05-13 01:55:46.305000             🧑  作者: Mango

如何在 R 中创建日期范围

R 编程语言使得生成整数范围和单数字符变得极其容易。还可以在 R 中以不同格式存储 Date 对象,并使用基本包和外部包按顺序递增以生成范围。

本文讨论了定义日期范围的各种方法。

方法 1:使用seq() 方法

日期对象存储为从 1970 年 1 月 1 日开始计算的天数,其中负数用于指代更早的日期。日期对象直接支持基本算术,其中整数直接从日期中添加或减去。 Date 对象还可以指定不同的格式来包含日期。

as.Date() 方法将字符日期对象作为输入并将其转换为日期对象。

句法:



R 中的 seq() 方法可用于生成递增或有害顺序排列的规则序列。 “by”参数可能包含字符串或整数以增加序列。

因此,通过结合这两种方法,我们可以轻松完成工作。 seq() 将每个条目增加 1。

示例:创建日期范围

R
# defining start date
date <- as.Date("2021/08/04")
  
# defining length of range 
len <- 9
  
# generating range of dates
seq(date, by = "day", length.out = len)


R
# defining start date
start_date <- as.Date("2021/08/04")
  
# defining end date
end_date <- as.Date("2021/08/11")
  
# generating range of dates
range <- seq(start_date, end_date,"days")
print(range)


R
library("lubridate")
  
# defining start date
start_date <- ymd("2021/08/04")
  
# defining end date
end_date <- ymd("2021/08/11")
  
# generating range of dates
range <- seq(start_date, end_date,"days")
print(range)


输出

示例:定义开始和结束日期并将每个条目增加“天”数并通过添加天数来添加条目的代码片段。

电阻

# defining start date
start_date <- as.Date("2021/08/04")
  
# defining end date
end_date <- as.Date("2021/08/11")
  
# generating range of dates
range <- seq(start_date, end_date,"days")
print(range)

输出

方法二:使用lubridate包

R 中的 Lubridate 包用于处理日期和时间对象。它使解析和操作对象更容易,需要通过以下命令安装并加载到工作空间:

install.packages("lubridate")

ymd() 方法可用于使用 lubridate 包将字符日期转换为由年-月-日组成的日期格式。接下来是基R的seq()方法的应用。

示例:创建日期范围

电阻

library("lubridate")
  
# defining start date
start_date <- ymd("2021/08/04")
  
# defining end date
end_date <- ymd("2021/08/11")
  
# generating range of dates
range <- seq(start_date, end_date,"days")
print(range)

输出