我正在尝试创建一个函数,将两个月之间的所有月份放入列表中:
date1<- 201305
date2<- 201511
months <- function(date1,date2){}
Run Code Online (Sandbox Code Playgroud)
我希望它返回一个这样的列表:
201305
201306
201307
...
201509
201510
201511
Run Code Online (Sandbox Code Playgroud)
Dir*_*tel 10
首先,我们需要创建日期.你提供的东西还不是一个错过一天的日期 - 所以我们加一个:
R> d1 <- as.Date(paste0("201305","01"), "%Y%m%d")
R> d2 <- as.Date(paste0("201511","01"), "%Y%m%d")
Run Code Online (Sandbox Code Playgroud)
鉴于两个日期,获得一系列日期是微不足道的:打电话给seq().以您想要的方式格式化同样简单:
R> dat <- format(seq(d1,d2,by="month"), "%Y%m")
Run Code Online (Sandbox Code Playgroud)
我们检查开始和结束:
R> head(dat)
[1] "201305" "201306" "201307" "201308" "201309" "201310"
R> tail(dat)
[1] "201506" "201507" "201508" "201509" "201510" "201511"
R>
Run Code Online (Sandbox Code Playgroud)
现在,作为一个功能:
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")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3541 次 |
| 最近记录: |