日付の範囲を指定すると、特定の曜日の名前と、特定の月のその日の発生 (たとえば、毎月の第 2 金曜日) が対応する日付を返す関数を作成しました。ただし、それほど高速ではなく、その堅牢性を 100% 確信しているわけではありません。POSIXオブジェクトに対してこれらの種類の操作を実行できるRのパッケージまたは関数のセットはありますか? 前もって感謝します!
2 に答える
8
nextfri
1 つの線源がzoo パッケージのzoo クイック リファレンス ビネットに示されている関数を使用すると、次のように第2 金曜日が得られます。d
d
"Date"
library(zoo)
d <- as.Date(c("2011-09-01", "2011-10-01"))
nextfri(d) + 7
## [1] "2011-09-09" "2011-10-14"
( nextfri
zoo パッケージの一部ではありません。自分で入力する必要がありますが、1 行しかありません)
以下は、0 が日曜日、1 が月曜日などの曜日を示します。
as.POSIXlt(d)$wday
## [1] 4 6
本当に日時ではなく日付のみを扱っている場合は、タイム ゾーン エラーを回避するために、クラスで"Date"
はなくクラスを使用する必要があります。R News 4/1"POSIXt"
の記事を参照してください。
于 2011-09-26T17:32:39.380 に答える
0
timeDate
パッケージにはその機能の一部が含まれています。この小さなコードスニペットは、そのパッケージのコードに基づいています。これはDate
s用であり、timeDateには基礎となるPOSIXタイプがあります。
nthNdayInMonth <- function(date,nday = 1, nth = 1){
wday <- (as.integer(date) - 3) %% 7
r <- (as.integer(date) + (nth -1) * 7 + (nday - wday)%%7)
as.Date(r,"1970-01-01")
}
于 2011-09-26T17:43:28.803 に答える