> Sys.Date()
[1] "2009-11-08"

> as.Date("05/29/1971", format = "%m/%d/%Y")
[1] "1971-05-29"


> as.numeric((Sys.Date() - as.Date("05/29/1971", format = "%m/%d/ %Y")) / 365.25)
[1] 38.44764

or perhaps more clearly:

EndDate <- Sys.Date()
StartDate <- as.Date("05/29/1971", format = "%m/%d/%Y")

> as.numeric((EndDate - StartDate) / 365.25)
[1] 38.44764



We coerce to numeric here, to return a standard numeric value, rather than the result being of class difftime with an attribute of 'days' for units:

> str((Sys.Date() - as.Date("05/29/1971", format = "%m/%d/%Y")) / 365.25)
Class 'difftime'  atomic [1:1] 38.4
  ..- attr(*, "units")= chr "days"



HTH,

Marc Schwartz


On Nov 8, 2009, at 5:22 PM, Jim Burke wrote:

To clarify.

Lets turn a date into an age. Given 05/29/1971 in mm/dd/yyyy
format. What is the year difference between then and today?
This would be the "age" requested that starts 05/29/1971 as
one.

Thanks,
Jim




David Winsemius wrote:

On Nov 8, 2009, at 3:11 PM, frenchcr wrote:



why do you use 365.25?


As opposed to what?

-- David

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,  <frenc...@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 <frenc...@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@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@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.

______________________________________________
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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
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.




        [[alternative HTML version deleted]]

______________________________________________
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.

______________________________________________
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.

Reply via email to