用 R 中的循环或函数编写年月向量

Write a vector of year-month with a loop or function in R

我想制作一个2018年到2020年之间的年月向量,而不是一个一个地输入,比如2018-01、2018-02 ... 2020-01。

这是预期的结果

month_names <- c("2018-01", "2018-02", "2018-03", ..... "2020-01")

如有任何帮助,我们将不胜感激。

您可以使用 seq 创建每月序列并使用 format

month_names <- format(seq(as.Date("2018-04-01"), as.Date("2020-04-01"), 
                       by = 'month'), '%Y-%m')

 #[1] "2018-04" "2018-05" "2018-06" "2018-07" "2018-08" "2018-09" "2018-10"
 #[8] "2018-11" "2018-12" "2019-01" "2019-02" "2019-03" "2019-04" "2019-05"
#[15] "2019-06" "2019-07" "2019-08" "2019-09" "2019-10" "2019-11" "2019-12"
#[22] "2020-01" "2020-02" "2020-03" "2020-04"

outer 的另一种方式:

c(t(outer(2018:2020, sprintf("%02d", 1:12), paste, sep = "-")))