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コマンド

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