【R每日一贴】R中创建日期序列?
测试开头
测试结尾
文/陆勤
做金融数据分析时,需要创建日期序列,怎么办?可以使用R中的seq()函数,它是一个泛型函数,它有一个Date对象的版本,用来创建日期序列。举例说明如下。
> start <- as.Date("2014-1-1")
> end <- as.Date("2014-2-1")
> seq(from=start, to=end, by=1)
[1] "2014-01-01" "2014-01-02" "2014-01-03" "2014-01-04" "2014-01-05" "2014-01-06"
[7] "2014-01-07" "2014-01-08" "2014-01-09" "2014-01-10" "2014-01-11" "2014-01-12"
[13] "2014-01-13" "2014-01-14" "2014-01-15" "2014-01-16" "2014-01-17" "2014-01-18"
[19] "2014-01-19" "2014-01-20" "2014-01-21" "2014-01-22" "2014-01-23" "2014-01-24"
[25] "2014-01-25" "2014-01-26" "2014-01-27" "2014-01-28" "2014-01-29" "2014-01-30"
[31] "2014-01-31" "2014-02-01"
或者,通过指定一个日期数,增量和日期的个数来创建日期序列,例如。
> seq(from=start, by=1, length.out=7)
[1] "2014-01-01" "2014-01-02" "2014-01-03" "2014-01-04" "2014-01-05" "2014-01-06"
[7] "2014-01-07"
说明:增量by取值灵活,可以设置为天数、周数、月数和年数。
> seq(from=start, by=5, length.out=7)
[1] "2014-01-01" "2014-01-06" "2014-01-11" "2014-01-16" "2014-01-21" "2014-01-26"
[7] "2014-01-31"
> seq(from=start, by="month", length.out=7)
[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01"
[7] "2014-07-01"
> seq(from=start, by="2 months", length.out=7)
[1] "2014-01-01" "2014-03-01" "2014-05-01" "2014-07-01" "2014-09-01" "2014-11-01"
[7] "2015-01-01"
> seq(from=start, by="year", length.out=7)
[1] "2014-01-01" "2015-01-01" "2016-01-01" "2017-01-01" "2018-01-01" "2019-01-01"
[7] "2020-01-01"
【想一想】
1 日期序列有哪些应用场景?如何创建日期序列?
【做一做】
1以当下日期为起点,生成后10天的日期序列?
【温馨话语】
吾生也有涯,而知也无涯。以在涯随无涯,殆已;已而为知者,殆而已矣。
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。PPV课R语言群:342699237,欢迎朋友们加入,共建最好的R社区。
赠人玫瑰,手有余香。若是觉得此文有用,欢迎分享给更多的人,让更多的人受用。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!