如何在 R 中创建日期范围
R 编程语言使得生成整数范围和单数字符变得极其容易。还可以在 R 中以不同格式存储 Date 对象,并使用基本包和外部包按顺序递增以生成范围。
本文讨论了定义日期范围的各种方法。
方法 1:使用seq() 方法
日期对象存储为从 1970 年 1 月 1 日开始计算的天数,其中负数用于指代更早的日期。日期对象直接支持基本算术,其中整数直接从日期中添加或减去。 Date 对象还可以指定不同的格式来包含日期。
as.Date() 方法将字符日期对象作为输入并将其转换为日期对象。
句法:
as.Date(character date object)
R 中的 seq() 方法可用于生成递增或有害顺序排列的规则序列。 “by”参数可能包含字符串或整数以增加序列。
Syntax:
seq(from, to, by, length.out)
Parameter:
- from – Beginning of the sequence
- to – End of the sequence
- by – The steps to increment the sequence by
- length.out – The total length of the sequence
因此,通过结合这两种方法,我们可以轻松完成工作。 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)
输出
[1] “2021-08-04” “2021-08-05” “2021-08-06” “2021-08-07” “2021-08-08”
[6] “2021-08-09” “2021-08-10” “2021-08-11” “2021-08-12”
示例:定义开始和结束日期并将每个条目增加“天”数并通过添加天数来添加条目的代码片段。
电阻
# 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)
输出
[1] “2021-08-04” “2021-08-05” “2021-08-06” “2021-08-07” “2021-08-08”
[6] “2021-08-09” “2021-08-10” “2021-08-11”
方法二:使用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)
输出
[1] “2021-08-04” “2021-08-05” “2021-08-06” “2021-08-07” “2021-08-08”
[6] “2021-08-09” “2021-08-10” “2021-08-11”