1週間のスケジュールをバーで表現するパッケージの紹介です。パッケージ収録の「SlotsDetails」コマンドで対象データを変換して「geom_weekly_timeslots」コマンドでプロットします。非常にシンプルなパッケージです。
なお、プロットの体裁は「ggplot2」パッケージなどの各「geom」コマンドで指定します。
パッケージバージョンは0.2.0。windows 11のR version 4.1.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("time.slots")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("time.slots") ###データ例の作成##### #tidyverseパッケージがなければインストール if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } #日付データの作成に便利:lubridateパッケージがなければインストール #紹介は[ https://www.karada-good.net/analyticsr/r-467/ ] if(!require("lubridate", quietly = TRUE)){ install.packages("lubridate");require("lubridate") } set.seed(1234) #lubridate::ymd;locale="C", tz="Asia/Tokyo"を設定するのがポイント #lubridate::wday;locale = "English_Japan.932"を設定するのがポイント TestData <- tibble(StartDate = seq(lubridate::ymd_hms("2021-05-09 09:00:00", locale = "C", tz = "Asia/Tokyo"), lubridate::ymd_hms("2021-05-15 17:00:00", locale = "C", tz = "Asia/Tokyo"), by = "1 days")) %>% mutate(StartDate = StartDate + hours(sample(0:(length(StartDate)-1))), EndDate = StartDate + hours(sample(1:(length(StartDate)))), Tiele = sample(c("A", "B", "NO"), length(StartDate), replace = TRUE), Fill = sample(c("#4b61ba", "#ad8a80", "#245041", "red", "yellow"), length(StartDate), replace = TRUE)) ######## #geom_weekly_timeslotsコマンドでデータを変換:SlotsDetailsコマンド SlotData <- SlotsDetails(TestData$StartDate, TestData$EndDate, TestData$Tiele) #一週間のタイムテーブルをプロット:geom_weekly_timeslotsコマンド #体裁は各gomeコマンドで直接操作する geom_weekly_timeslots(data = SlotData) + geom_rect(fill = TestData$Fill, col = "black") + ggfittext::geom_fit_text(col = "black", grow = TRUE)
出力例
・geom_weekly_timeslotsコマンド
少しでも、あなたの解析が楽になりますように!!