一定範囲の数字を等間隔で並べたい
- seq(from, to, range)を使うと、数字を等間隔で並べたベクトルができる。
> seq(1,10,2) [1] 1 3 5 7 9 > seq(100,200,40) [1] 100 140 180 > seq(-100, 100, 30) [1] -100 -70 -40 -10 20 50 80 >
- 連続した日付を生成したい場合も同様だが、daysパラメタをつける
from = as_Date("2018-12-28") to = as_Date("2019-01-15") d = seq(from, to, by='days')
さらにここから文字列を生成するには、seqで生成されているのは日付のベクトルだが、日付型に変換してからでないと文字列ベクトルに変換できない。
d = seq(from, to, by = 'day') %>% as_date() %>% format.Date() %>% print
なお、by = "days"をby = "2days"とすれば一日おきの連続値になる。
別の方法で連続した日付(日付型に連続した整数のベクトルを加える)
> lubridate::ymd("2020-04-01") + c(0:30) [1] "2020-04-01" "2020-04-02" "2020-04-03" "2020-04-04" "2020-04-05" [6] "2020-04-06" "2020-04-07" "2020-04-08" "2020-04-09" "2020-04-10" [11] "2020-04-11" "2020-04-12" "2020-04-13" "2020-04-14" "2020-04-15" [16] "2020-04-16" "2020-04-17" "2020-04-18" "2020-04-19" "2020-04-20" [21] "2020-04-21" "2020-04-22" "2020-04-23" "2020-04-24" "2020-04-25" [26] "2020-04-26" "2020-04-27" "2020-04-28" "2020-04-29" "2020-04-30" [31] "2020-05-01"
Last updated 2019-01-31 | auditR (c) N.Nawata