Rで解析:時系列の作成に便利「dateSampler」パッケージ

Rの解析に役に立つ記事

時系列のベクトル作成に便利なパッケージの紹介です。

パッケージバージョンは0.1.0.9000。。windows11のR version 4.1.2で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
devtools::install_github("mdlincoln/dateSampler")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読込
library("dateSampler")

#POSIXctのデータを作成:sample_dateコマンド
#最小年を設定:year_minオプション
#最大年を設定:year_maxオプション;初期値:year_min
#最小月を設定:month_minオプション;初期値:1
#最大月を設定:month_maxオプション;初期値:12
#最小日を設定:day_minオプション;初期値:1
#最大日を設定:day_max オプション;初期値:31
#データの作成数:nオプション
sample_date(year_min = 2016, year_max = 2020,
            month_min = 1, month_max = 12,
            day_min = 1, day_max = 31, n = 5)
[1] "2016-02-21" "2018-10-15" "2019-04-26" "2016-01-03" "2018-07-04"

###おまけ:yyyy, mm, ddと返す.pオプションを利用した例#####
#lubridateパッケージを利用します
#install.packages("lubridate")
#文字列をdate型にするymdコマンド,日曜日:1,土曜日:7で返すwdayコマンド
#"2016-09-14"は水曜日なので4
lubridate::wday(lubridate::ymd("2016-09-14", quiet = TRUE))
[1] 4

#水曜日だけを選択
Wednesday <- function(y, m, d) {
  lubridate::wday(lubridate::ymd(paste(y, m, d, sep = "-"), quiet = TRUE)) != 4
}

#実行
result <- sample_date(year_min = 2016, year_max = 2017,
                         month_min = 1, month_max = 12, quiet = TRUE,
                         day_min = 1, day_max = 31, n = 5, .p = Wednesday)
result
[1] "2016-06-29" "2016-04-13" "2016-04-13" "2017-03-08" "2017-04-26"

#確認
lubridate::wday(result, label = TRUE)
[1] Wed Wed Wed Wed Wed
Levels: 日 < 月 < 火 < 水 < 木 < 金 < 土

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました