[R] Calculation with date
David Winsemius
dwinsemius at comcast.net
Sat Mar 9 17:37:23 CET 2013
On Mar 9, 2013, at 4:24 AM, Rui Barradas wrote:
> Hello,
>
> I don't believe there's such a function, but you can write one.
I beg to disagree. The seq.Date function lets one create sequences by month. The only added twist in this case is to subract to the beginning of the current month:
> seq( Date- as.POSIXlt(Date)$mday+1, length=diff(range(Vec))+1, by="month")[Vec+1]
[1] "2013-03-01" "2014-04-01" "2014-01-01" "2013-07-01"
>
> Date <- as.Date(Sys.time())
> New_Vec <- c("2013-03-01", "2014-04-01", "2014-01-01", "2013-07-01")
> New_Vec <- as.Date(New_Vec)
> Vec <- c(0, 13, 10, 4)
>
>
> plusmonths <- function(x, y){
> s <- as.integer(format(x, "%m")) + y
> yx <- as.integer(format(x, "%Y")) + (s %/% 12)
> as.Date(paste(yx, s %% 12, "01", sep = "-"))
> }
> pm <- plusmonths(Date, Vec)
>
> identical(New_Vec, pm) # TRUE
>
>
> Hope this helps,
>
> Rui Barradas
>
> Em 09-03-2013 11:41, Christofer Bogaso escreveu:
>> Hello again,
>>
>> Let say I have an non-negative integer vector (which may be random):
>>
>> Vec <- c(0, 13, 10, 4)
>>
>> And I have a date:
>>
>>> Date <- as.Date(Sys.time())
>>> Date
>> [1] "2013-03-09"
>>
>>
>>
>> Using these 2 information, I want to get following date-vector:
>>
>> New_Vec <- c("2013-03-01", "2014-04-01", "2014-01-01", "2013-07-01")
>>
>> Basically the month-difference between 'New_Vec' and 'Date' will be 'Vec '
>>
>> Is there any R function to do it programmatically?
>>
>>
>> Thanks for your help.
>>
>> ______________________________________________
>> R-help at 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.
>>
>
> ______________________________________________
> R-help at 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.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list