[英]Is there an easy way to create a vector following the pattern: 1st day of the month, last day of the month, 1st day of the month etc.?
I'm trying to find an elegant way to create a vector of dates that follows a pattern like:我试图找到一种优雅的方法来创建遵循以下模式的日期向量:
x <- c(ymd("2000/01/01"), ymd("2000/01/31"), ymd("2000/02/01"), ymd("2000/02/28"))
...and so on. ...等等。
So far I've just been doing this:到目前为止,我一直在这样做:
library(lubridate)
start <- ymd("2000/01/01")
x <- c(start, rollback(start + month(1)),
start + months(1), rollback(start + months(2)),
start + months(2), rollback(start + months(3)),
start + months(3), rollback(start + months(4)),
start + months(4), rollback(start + months(5)),
start + months(5), rollback(start + months(6)),
start + months(6), rollback(start + months(7)),
start + months(7), rollback(start + months(8)),
start + months(8), rollback(start + months(9)),
start + months(9), rollback(start + months(10)),
start + months(10), rollback(start + months(11)),
start + months(11), rollback(start + months(12)))
Any help is much appreciated, thank you!非常感谢任何帮助,谢谢!
You could generate first days and the subtract 1:您可以生成第一天并减去 1:
first_days <- start + months(0:12)
sort(c(head(first_days, -1), tail(first_days - 1, -1)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.