[R] Loop With Dates

Ana PGG @n@cre@m @end|ng |rom gm@||@com
Fri Sep 20 20:40:06 CEST 2019


Hi Phillip,

This can be done in several ways as most things in programming. Here is one posible solution:

dates <- c("2018-03-29", "2018-03-29", "2018-03-29", 
           "2018-03-30", "2018-03-30", "2018-03-30", 
           "2018-03-31", "2018-03-31", "2018-03-31")
dates <- as.data.frame(as.Date(dates))
library(zoo)
dates <- zoo(dates)
colnames(dates) <- "dates"
dates$lag <- lag(dates, -1, na.pad = TRUE)
dates[1, 2] <- dates[1, 1]
dates$count <- cumsum(!(dates$dates == dates$lag)) + 1
dates$lag <- NULL

> dates
  dates.object count
1 2018-03-29   1    
2 2018-03-29   1    
3 2018-03-29   1    
4 2018-03-30   2    
5 2018-03-30   2    
6 2018-03-30   2    
7 2018-03-31   3    
8 2018-03-31   3    
9 2018-03-31   3    


De: Phillip Heinrich
Enviado: viernes, 20 de septiembre de 2019 19:47
Para: r-help
Asunto: [R] Loop With Dates

With the data snippet below I’m trying to increment the “count” vector by one each time the date changes.  

         Date count
1   2018-03-29     1
2   2018-03-29     1
3   2018-03-29     1
81  2018-03-30     1
82  2018-03-30     1
83  2018-03-30     1
165 2018-03-31     1
166 2018-03-31     1
167 2018-03-31     1
 
     
            >  
     


I can get count to change when the date changes with the following code:

test2 <- transform(test2,
+                   count = ifelse(Date == lag(Date,1),count,count+1))
> test2
          Date count
1   2018-03-29    NA
2   2018-03-29     1
3   2018-03-29     1
81  2018-03-30     2
82  2018-03-30     1
83  2018-03-30     1
165 2018-03-31     2
166 2018-03-31     1
167 2018-03-31     1
 
     
           

     


...but I want all three March 30 rows to have a count of 2 and the March 31 rows to be equal to 3.  Any suggestions?

Thanks.
	[[alternative HTML version deleted]]

______________________________________________
R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


	[[alternative HTML version deleted]]



More information about the R-help mailing list