[R] Turn dates into age
frenchcr
frenchcr at btinternet.com
Sun Nov 8 21:11:31 CET 2009
why do you use 365.25?
dates<-as.character(data[,"date_commissioned"]); # convert dates to
characters
#dates[1:10]
#[1] "19910101" "19860101" "19910101" "19860101" "19910101" "19910101"
"19910101" "19910101" "19910101" "19910101"
dateObs <- as.Date(dates,format="%Y%m%d")
#dateObs[1:10]
#[1] "1991-01-01" "1986-01-01" "1991-01-01" "1986-01-01" "1991-01-01"
"1991-01-01" "1991-01-01" "1991-01-01" "1991-01-01" "1991-01-01"
today <- Sys.Date()
x.date <- as.Date(dateObs, format="%Y%m%d")
AGE <- round(as.vector(difftime(today , x.date, units='day') / 365.25))
frenchcr wrote:
>
>
> it sure does thank you!
>
>
>> will this work for you
>>
>> x <- c('19910101', '19950302', '20010502')
>> today <- Sys.Date()
>> x.date <- as.Date(x, format="%Y%m%d")
>> round(as.vector(difftime(today , x.date, units='day') / 365.25))
> [1] 19 15 9
>>
>
>
> On Sun, Nov 8, 2009 at 2:44 PM, <frenchcr at btinternet.com> wrote:
>> Hi Jim,
>>
>> Thanks for the quick reply...not sure what you mean by frame of
>> reference(only been using R for 4 days)...to clarify, i need to turn my
>> dates from 1999-10-01 into 1999 then i subtract 2009 -1999 to get an age
>> of 10. The column im working on has 312,000 rows and some have NA in them
>> as we have no dates for that item.
>>
>> To recap, the column is just a bunch of dates with some field empty, i
>> want to change the column from "date of commision" to "age of asset"
>>
>> Cheers
>> Chris.
>
>
>
>
> jholtman wrote:
>>
>> What is the frame of reference to determine the age? Check out
>> 'difftime'.
>>
>> On Sun, Nov 8, 2009 at 1:50 PM, frenchcr <frenchcr at btinternet.com> wrote:
>>>
>>> Ive got a big column of dates (also some fields dont have a date so they
>>> have
>>> NA instead),
>>> that i have converted into date format as so...
>>>
>>>
>>> dates<-as.character(data[,"date_commissioned"]); # converted dates to
>>> characters
>>> dates[1:10]
>>> [1] "19910101" "19860101" "19910101" "19860101" "19910101" "19910101"
>>> "19910101" "19910101" "19910101" "19910101"
>>>
>>> dateObs <- as.Date(dates,format="%Y%m%d")
>>> dateObs[1:10]
>>> [1] "1991-01-01" "1986-01-01" "1991-01-01" "1986-01-01" "1991-01-01"
>>> "1991-01-01" "1991-01-01" "1991-01-01" "1991-01-01" "1991-01-01"
>>>
>>>
>>>
>>> Now i need to turn the dates into AGE, how do i do it? Im not worried
>>> about
>>> fractions of years, whole years would do.
>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Turn-dates-into-age-tp26256656p26256656.html
>>> Sent from the R help mailing list archive at Nabble.com.
>>>
>>> ______________________________________________
>>> 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.
>>>
>>
>>
>>
>> --
>> Jim Holtman
>> Cincinnati, OH
>> +1 513 646 9390
>>
>> What is the problem that you are trying to solve?
>>
>> ______________________________________________
>> 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.
>>
>>
>
>
--
View this message in context: http://old.nabble.com/Turn-dates-into-age-tp26256656p26257435.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list