\HeaderA{is.ratetable}{Verify that an Object is of Class `ratetable'}{is.ratetable}
\aliasA{Math.ratetable}{is.ratetable}{Math.ratetable}
\aliasA{Ops.ratetable}{is.ratetable}{Ops.ratetable}
\keyword{survival}{is.ratetable}
\begin{Description}\relax
The function verifies not only the \code{class} attribute, but the
structure of the object.
\end{Description}
\begin{Usage}
\begin{verbatim}
is.ratetable(x, verbose=FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] the object to be verified.

\item[\code{verbose}] if \code{TRUE} and the object is not a ratetable, then return a character string
describing the way(s) in which \code{x} fails to be a proper ratetable object.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Rate tables are used by the \code{pyears} and \code{survexp} functions, and normally
contain death rates for some population, categorized by age, sex, or other
variables.  They have a fairly rigid structure, and the \code{verbose} option
can help in creating a new rate table.
\end{Details}
\begin{Value}
returns \code{TRUE} if \code{x} is a ratetable, and \code{FALSE} or a description if it is not.
\end{Value}
\begin{SeeAlso}\relax
\code{\LinkA{pyears}{pyears}}, \code{\LinkA{survexp}{survexp}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
is.ratetable(survexp.us)  ##Yes
is.ratetable(cancer)  ##No
\end{ExampleCode}
\end{Examples}

