ある日付に月を追加しようとしています。しかし、これまでのところ、それはまっすぐな方法では不可能です。以下は私が試したものです。
d <- as.Date("2004-01-31")
d + 60
# [1] "2004-03-31"
月が重ならないため、追加しても役に立ちません。
seq(as.Date("2004-01-31"), by = "month", length = 2)
# [1] "2004-01-31" "2004-03-02"
上記はうまくいくかもしれませんが、やはり簡単ではありません。また、以下のような問題がある日付に30日か何かを追加します
seq(as.Date("2004-01-31"), by = "month", length = 10)
# [1] "2004-01-31" "2004-03-02" "2004-03-31" "2004-05-01" "2004-05-31" "2004-07-01" "2004-07-31" "2004-08-31" "2004-10-01" "2004-10-31"
上記では、最初の2つの日付について、月は変更されていません。
また、次のアプローチも1か月間は失敗しましたが、1年間は成功しました
d <- as.POSIXlt(as.Date("2010-01-01"))
d$year <- d$year +1
d
# [1] "2011-01-01 UTC"
d <- as.POSIXlt(as.Date("2010-01-01"))
d$month <- d$month +1
d
エラー
format.POSIXlt(x, usetz = TRUE)
:無効な'x'引数
これを行うための正しい方法は何ですか?