https://github.com/cran/Epi
Raw File
Tip revision: 794d34a1dc1d42f7e8ccf592779006fff206426e authored by Bendix Carstensen on 11 January 2008, 00:00:00 UTC
version 1.0.7
Tip revision: 794d34a
cal.yr.Rd
\name{cal.yr}
\alias{cal.yr}
\alias{as.Date.cal.yr}
\alias{as.Date.numeric}
\title{
  Functions to convert character, factor and various date objects into a number,
  and vice versa.
  }
\description{
  Dates are converted to a numerical value, giving the calendar year as
  a fractional number. 1 January 1970 is converted to 1970.0, and other
  dates are converted by assuming that years are all 365.25 days long,
  so inaccuracies may arise, for example, 1 Jan 2000 is converted to
  1999.999. Differences between converted values will be 1/365.25 of the 
  difference between corresponding \code{\link{Date}} objects.
  }
\usage{
  cal.yr(x, format)
  as.Date.cal.yr( x, ... )
  as.Date.numeric( x, ..., unit="d" )
}
\arguments{
  \item{x}{A factor or character vector, representing a date in format
    \code{format}, or an object of class
    \code{\link{Date}},
    \code{\link{POSIXlt}},
    \code{\link{POSIXct}},
    \code{\link{date}},
    \code{dates} or
    \code{chron} (the latter two requires the \code{chron} package).
    If \code{x} is a data frame, all variables in the data-frame
    which are of the classes mentioned are converted to class \code{cal.yr}.}
  \item{format}{Format of the date values if \code{x} is factor or character}
  \item{unit}{Which units are the date measured in, \code{"y"} for years,
    \code{"d"} for days.}
  \item{...}{Arguments passed on from other methods.}
  }
\value{
  \code{cal.yr} returns a numerical vector of the same length as
  \code{x}, of class \code{c("cal.yr","numeric")}.

  \code{as.Date.cal.yr} and \code{as.Date.numeric}
  return \code{\link{Date}} objects.
}
\author{
  Bendix Carstensen, Steno Diabetes Center \& Dept. of Biostatistics,
  University of Copenhagen, \email{bxc@steno.dk},
  \url{http://www.pubhealth.ku.dk/~bxc}
} 
\seealso{
  \code{\link{DateTimeClasses}},
  \code{\link{Date}}
}
\examples{
 # Charcter vector of dates:
 birth <- c("14/07/1852","01/04/1954","10/06/1987","16/05/1990",
            "01/01/1996","01/01/1997","01/01/1998","01/01/1999")
 # Proper conversion to class "Date":
 birth.dat <- as.Date( birth, format="\%d/\%m/\%Y" )
 # Converson of character to class "cal.yr"
 bt.yr <- cal.yr( birth, format="\%d/\%m/\%Y" )
 # Back to class "Date":
 bt.dat <- as.Date( bt.yr )
 # Numerical calculation of days since 1.1.1970:
 days <- Days <- (bt.yr-1970)*365.25
 # Blunt assignment of class:
 class( Days ) <- "Date"
 # Then data.frame() to get readable output of results:
 data.frame( birth, birth.dat, bt.yr, bt.dat, days, Days, round(Days) )
}
\keyword{manip}
\keyword{chron}
back to top