曜日順での集計をformat関数を使うとこういう書き方になるかな、というメモ書き。
間違えや、こうした方がいいよという意見があればお教えください。
library(dplyr)
x <- seq.Date(from = Sys.Date(), to = Sys.Date() + 31, by = "day")
set.dayofweek.name <- paste0(c("日", "月", "火", "水", "木", "金", "土"), "曜日")
table(format.Date(x = x, format = "%A"))
火曜日 金曜日 月曜日 水曜日 土曜日 日曜日 木曜日
5 5 4 5 4 4 5
(x %>% format.Date(format = "%u") %>% as.integer() - 7) %>% abs() %>%
factor(labels = set.dayofweek.name) %>% table()
.
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
4 4 5 5 5 5 4
x %>% format.Date(format = "%A") %>% factor(levels = set.dayofweek.name) %>% table()
.
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
4 4 5 5 5 5 4
set.dayofweek.name <- paste0(c("土", "日", "月", "火", "水", "木", "金"), "曜日")
x %>% format.Date(format = "%A") %>% factor(levels = set.dayofweek.name) %>% table()
.
土曜日 日曜日 月曜日 火曜日 水曜日 木曜日 金曜日
4 4 4 5 5 5 5
set.dayofweek.name <- paste0(c("土", "日", "水", "木", "月", "金", "火"), "曜日")
x %>% format.Date(format = "%A") %>% factor(levels = set.dayofweek.name) %>% table()
.
土曜日 日曜日 水曜日 木曜日 月曜日 金曜日 火曜日
4 4 5 5 4 5 5
元ネタ
http://blog.gepuro.net/archives/113
format関数で指定できる引数の種類は、strftime関数のヘルプに記載されています。
http://www.inside-r.org/r-doc/base/strftime
sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
locale:
[1] ja_JP.UTF-8/ja_JP.UTF-8/ja_JP.UTF-8/C/ja_JP.UTF-8/ja_JP.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.3.0.2
loaded via a namespace (and not attached):
[1] assertthat_0.1 DBI_0.3.1 digest_0.6.4 evaluate_0.5.5
[5] formatR_1.0 htmltools_0.2.6 knitr_1.8 magrittr_1.5
[9] parallel_3.1.2 Rcpp_0.11.3 rmarkdown_0.3.10 stringr_0.6.2
[13] tools_3.1.2 yaml_2.1.13
Sys.Date()
[1] "2014-12-23"