日時も扱いやすいです
Date オブジェクトと同様に、POSIXct オブジェクトでもプロットや計算ができます。
例として、この演習では RStudio の CRAN ミラーのダウンロードログを使って、新しい R バージョンがどれくらい早くダウンロードされるかを確認します。
R 3.2.0 は "2015-04-16 07:13:33" にリリースされたので、cran-logs_2015-04-17.csv には 16 日、17 日、18 日のダウンロードのランダムサンプルが含まれています。
この演習はコースの一部です
Rで扱う日付と時刻
演習の手順
read_csv()を使ってcran-logs_2015-04-17.csvを読み込みます。- 各ダウンロードについてどんな情報があるかを見るために、
logsを表示します。 - R 3.2.0 のリリース時刻を
POSIXctオブジェクトとして保存します。 datetime列がrelease_timeより大きい値でフィルタリングして、3.2.0 への最初のリクエストがいつ行われたかを調べます。- 最後に、3.2.0 と一つ前のバージョン 3.1.3 のダウンロード時刻のヒストグラムを作成して、ダウンロードの増え方を確認します。コードの大部分は用意してあるので、
x美的属性にdatetime列を指定するだけで大丈夫です。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import "cran-logs_2015-04-17.csv" with read_csv()
logs <- read_csv(___)
# Print logs
___
# Store the release time as a POSIXct object
release_time <- ___("2015-04-16 07:13:33", tz = "UTC")
# When is the first download of 3.2.0?
logs %>%
filter(___,
r_version == "3.2.0")
# Examine histograms of downloads by version
ggplot(logs, aes(x = ___)) +
geom_histogram() +
geom_vline(aes(xintercept = as.numeric(release_time)))+
facet_wrap(~ r_version, ncol = 1)