# [R] Time data

Petr Pikal petr.pikal at precheza.cz
Tue Dec 20 11:50:03 CET 2005

```Hi

On 20 Dec 2005 at 11:12, Marc Bernard wrote:

Date sent:      	Tue, 20 Dec 2005 11:12:28 +0100 (CET)
From:           	Marc Bernard <bernarduse1 at yahoo.fr>
To:             	r-help at stat.math.ethz.ch
Subject:        	[R] Time data

> Dear All, I wonder how to compute the age from the date of birth and
> the date of examination. Suppose that have the following data:
>
>   df <- as.data.frame(rbind(c(1,"10/08/1950","15/03/1998"),
>   c(1,"10/08/1950","20/07/1998"), c(1,"10/08/1950","23/10/1998")))
>
>   names(df) <- c("ID", "date_birth", "date_exam")
>
>   where:
>   date_birth: is the date of birth
>   date_exam: date of examination
>
>   I used the following program to compute the value of the age  :
>
>   difftime(strptime(as.character(df\$date_exam), '%d/%m/%Y'),
>   strptime(as.character(df\$date_birth), '%d/%m/%Y'))/365.25
>
>   which gives me as an output:
>
> > Time differences of 47.59491, 47.94251, 48.20260 days
>
>   theses values are actually the 3 ages (but
>
>   My questions are:
>
>   1- Why in the output it says "days" instead of "years")

this is in attributes of an output and is not changed by calculations

>
>   2- How can I obtain the output as a numeric vector, without the
>   statement "Time difference of ....". This is in order to use it in
>   my calculations.

as.numeric(as.Date(df\$date_exam)-as.Date(df\$date_birth))/365

However you can use it in calculations without problem as I suppose
that "Time difference of" results from print method of a difftime
object.

>
>   3- Is there a way quicker and less redondant  to compute the age
>   form the date_birth and date_exam?

as.Date(df\$date_exam)-as.Date(df\$date_birth)

HTH
Petr

>
>   Thanks a lot,
>
>   Bernard,
>
>
>
> ---------------------------------
>
>  [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help