gpt4 book ai didi

r - 如何列出R中两个日期之间的所有月份

转载 作者:行者123 更新时间:2023-12-02 05:32:48 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,将两个月之间的所有月份都放入列表中:

date1<- 201305
date2<- 201511

months <- function(date1,date2){}

我希望它返回这样的列表:
201305
201306
201307
...
201509
201510
201511

最佳答案

首先,我们需要创建日期。您提供的还不是日期,因为它错过了一天-因此我们添加了一个:

R> d1 <- as.Date(paste0("201305","01"), "%Y%m%d")
R> d2 <- as.Date(paste0("201511","01"), "%Y%m%d")

给定两个日期,获取日期序列很简单:调用 seq()。同样以所需的方式进行格式化很简单:
R> dat <- format(seq(d1,d2,by="month"), "%Y%m")

我们检查开始和结束:
R> head(dat)
[1] "201305" "201306" "201307" "201308" "201309" "201310"
R> tail(dat)
[1] "201506" "201507" "201508" "201509" "201510" "201511"
R>

现在,作为一个功能:
datseq <- function(t1, t2) { 
format(seq(as.Date(paste0(t1,"01"), "%Y%m%d"),
as.Date(paste0(t2,"01"), "%Y%m%d"),by="month"),
"%Y%m")
}

关于r - 如何列出R中两个日期之间的所有月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33850398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com