On 01/01/2014 08:53 AM, Christofer Bogaso wrote:
Hi again,
Happy new year 2014 to every R gurus and users.
I am struggling with some calculation with dates... Let say I have
following vector of months:
Months<- c("Jan", "Dec", "Mar")
Now I need to assign year with them. This assignment will be based on some
given date. Let say my given date is :
Given_Date<- as.Date("2013-12-23")
So in this case, the modified month will be:
Months_Mod<- c("Jan-2014", "Dec-2013", "Mar-2014")
However if given date is:
Given_Date<- as.Date("2014-01-04")
then the modified months will be:
Months_Mod<- c("Jan-2014", "Dec-2014", "Mar-2014")
My problem is that, I can not extablish some logic around it, so that I can
do it programmatically for any Month-vector and for any Given-date.
Can someone help me to accomplice this?
Hi Christofer,
I would like to be an accomplice in this, but I can't quite work out
your logic. I thought that you might want:
IF Given_Date is in the same month as an element of Months
THEN use the year in Given_Date
ELSE use the year in Given_Date plus 1
However, when I programmed it:
assignYear<-function(index_date,months) {
index_year<-as.numeric(format(index_date,"%Y"))
index_month<-which(months==format(index_date,"%b"))
dates<-as.Date(paste(index_year+1,months,"1",sep="-"),"%Y-%b-%d")
dates[index_month]<-
as.Date(paste(index_year,months[index_month],"1",sep="-"),"%Y-%b-%d")
return(format(dates,"%Y-%b"))
}
it didn't work for the second example. Could you give some idea of what
you want to do?
Jim
______________________________________________
R-help@r-project.org mailing list
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.