R语言 如何创建一个日期范围
R编程语言使得生成整数和单数字符的范围非常容易。它也可以在R中以不同的格式存储日期对象,并使用基本包和外部包依次递增以产生一个范围。
这篇文章讨论了各种可以定义日期范围的方法。
方法1:使用 seq()方法
日期对象被存储为从1970年1月1日开始计算的天数,其中负数被用来指代早期的日期。日期对象直接支持基本的算术,其中整数是直接从日期中加减的。Date对象还可以指定不同的格式来包含日期。
as.Date()方法将一个字符日期对象作为输入,并将其转换为一个Date对象。
语法 。
as.Date(字符日期对象)
R中的seq()方法可以用来生成有规律的序列,这些序列是递增的或有害的顺序排列。参数 “by “可以包含字符串或整数,以使序列递增。
语法。
seq(from, to, by, length.out)
参数。
- from – 序列的开始
- to – 序列的结束
- by – 序列递增的步骤
- length.out – 序列的总长度
因此,通过结合这两种方法,我们可以很容易地完成工作。seq()将使每个条目递增1。
例子: 创建一个日期范围
# 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)
输出
[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”
方法2:使用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”