R:给日期加上 1 个月

标签 r dataframe xts zoo r-rook-package

我想获取 startDate 之间的日期序列和 endDate通过将 1 个月添加到 startDate .即,如果 startDate是 2013-01-31 和 endDate是 2013 年 7 月 31 日,我希望看到这样的日期:

"2013-01-31" "2013-02-28" "2013-03-31" "2013-04-30" "2013-05-31" "2013-06-30" "2013-07-31"



我试过 seq.Date(as.Date("2013-01-31"),by="month",length.out=7) .
但是这段代码的输出是这样的
> seq.Date(as.Date("2013-01-31"),by="month",length.out=7)
[1] "2013-01-31" "2013-03-03" "2013-03-31" "2013-05-01" "2013-05-31" "2013-07-01" "2013-07-31"

那么,获得正确输出的最简单解决方案是什么?

最佳答案

我必须在 R 中处理日期,我发现的最有用的日期数据包之一是 lubridate .对于您的问题,您只需执行以下操作:

require(lubridate)
# ymd function parses dates in year-month-day format
startDate <- ymd('2013-01-31')
# The %m+% adds months to dates without exceeding the last day
myDates <- startDate %m+% months(c(0:6))
lubridate也有许多其他的日期函数,我强烈建议你看看。

关于R:给日期加上 1 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681229/

相关文章:

r - 在一个图中有多个拟合(在 R 中)

r - 有没有办法使用ggplot更改GGally::ggpairs的调色板?

python - 如何从图像上具有不同值的不同像素的坐标数据框创建热图

r - 创建带有日期戳但最初没有列的 XTS 对象

r - 基于因子使用不同颜色绘制时间序列

r - GGPLOT标签设计(粗体、间隙)

r - 倾斜表面辐射的 solarR 时间戳

python - 类型错误:无法使用这些索引器对 <class 'pandas.indexes.base.Index' > 进行标签索引

python - 如何在同一列中用组的最小值填充 NaN 值

r - 为什么在不附加zoo的情况下xts函数无法找到as.yearmon函数?