2015-04-13 5 views
3

в R, с SEQ, можно получить последовательность датг: пара значений последовательности

seq(as.Date('2014-02-01'), as.Date('2014-8-31'), by='1 month') 
[1] "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01" "2014-07-01" "2014-08-01" 

Как можно получить пару значений? интервал значений по последовательности

"2014-02-01" "2014-03-01" 
"2014-03-01" "2014-04-01" 
... 

ответ

4

Если вы хотите получить список вы можете сделать:

s1 = seq(as.Date('2014-02-01'), as.Date('2014-8-31'), by='1 month') 

Map(c, head(s1, -1), tail(s1, -1)) 
#[[1]] 
#[1] "2014-02-01" "2014-03-01" 

#[[2]] 
#[1] "2014-03-01" "2014-04-01" 

#[[3]] 
#[1] "2014-04-01" "2014-05-01" 

#[[4]] 
#[1] "2014-05-01" "2014-06-01" 

#[[5]] 
#[1] "2014-06-01" "2014-07-01" 

#[[6]] 
#[1] "2014-07-01" "2014-08-01" 
3

Вы можете попробовать

s1 <- seq(as.Date('2014-02-01'), as.Date('2014-8-31'), by='1 month') 
d1 <- data.frame(v1=s1[-length(s1)], v2=s1[-1]) 
d1 
#  v1   v2 
#1 2014-02-01 2014-03-01 
#2 2014-03-01 2014-04-01 
#3 2014-04-01 2014-05-01 
#4 2014-05-01 2014-06-01 
#5 2014-06-01 2014-07-01 
#6 2014-07-01 2014-08-01 
Смежные вопросы