我使用lubridate并认为这将是如此简单
ymd("2010-01-31")+months(0:23)
Run Code Online (Sandbox Code Playgroud)
但看看会得到什么.这一切都搞砸了!
[1] "2010-01-31 UTC" "2010-03-03 UTC" "2010-03-31 UTC" "2010-05-01 UTC" "2010-05-31 UTC" "2010-07-01 UTC" "2010-07-31 UTC" "2010-08-31 UTC" "2010-10-01 UTC"
[10] "2010-10-31 UTC" "2010-12-01 UTC" "2010-12-31 UTC" "2011-01-31 UTC" "2011-03-03 UTC" "2011-03-31 UTC" "2011-05-01 UTC" "2011-05-31 UTC" "2011-07-01 UTC"
[19] "2011-07-31 UTC" "2011-08-31 UTC" "2011-10-01 UTC" "2011-10-31 UTC" "2011-12-01 UTC" "2011-12-31 UTC"
Run Code Online (Sandbox Code Playgroud)
然后我读到了lubridate如何迎合间隔,持续时间和周期等现象.那么,好吧我知道一个月实际上是由(365*4 + 1)/ 48 = 30.438天定义的天数.所以我试图变得聪明并将其重写为
ymd("2010-01-31")+ as.period(months(0:23))
Run Code Online (Sandbox Code Playgroud)
但那只是一个错误.
Run Code Online (Sandbox Code Playgroud)Error in as.period.default(months(0:23)) : (list) object cannot be coerced to type 'double'
我想生成一个包含全年所有星期五日期的数据框.有一个简单的方法吗?
例如2013年12月:(6/12/13,13/12/13,20/12/13,27/12/13)
谢谢您的帮助.