\HeaderA{R.Version}{Version Information}{R.Version}
\aliasA{R.version}{R.Version}{R.version}
\methaliasA{R.version.string}{R.Version}{R.version.string}
\aliasA{version}{R.Version}{version}
\keyword{environment}{R.Version}
\keyword{sysdata}{R.Version}
\keyword{programming}{R.Version}
\begin{Description}\relax
\code{R.Version()} provides detailed information about the version of
\R{} running.

\code{R.version} is a variable (a \code{\LinkA{list}{list}}) holding this
information (and \code{version} is a copy of it for S compatibility).
\end{Description}
\begin{Usage}
\begin{verbatim}
R.Version()
R.version
R.version.string
version
\end{verbatim}
\end{Usage}
\begin{Value}
\code{R.Version} returns a list with character-string components
\begin{ldescription}
\item[\code{platform}] the platform for which \R{} was built.  A triplet of the
form CPU-VENDOR-OS, as determined by the configure script.  E.g,
\code{"i586-unknown-linux"} or \code{"i386-pc-mingw32"}.

\item[\code{arch}] the architecture (CPU) \R{} was built on/for.
\item[\code{os}] the underlying operating system
\item[\code{system}] CPU and OS, separated by a comma.
\item[\code{status}] the status of the version (e.g., \code{"Alpha"})
\item[\code{major}] the major version number
\item[\code{minor}] the minor version number, including the patchlevel
\item[\code{year}] the year the version was released
\item[\code{month}] the month the version was released
\item[\code{day}] the day the version was released
\item[\code{svn rev}] the Subversion revision number, which should be either
\code{"unknown"} or a single number. (A range of numbers or a number
with \samp{M} or \samp{S} appended indicates inconsistencies in the
sources used to build this version of \R.)

\item[\code{language}] always \code{"R"}.
\item[\code{version.string}] a
\code{\LinkA{character}{character}} string concatenating some of the info above,
useful for plotting, etc.
\end{ldescription}


\code{R.version} and \code{version} are lists of class
\code{"simple.list"} which has a \code{print} method.
\end{Value}
\begin{Note}\relax
Do \emph{not} use \code{R.version\$os} to test the platform the
code is running on: use \code{.Platform\$OS.type} instead.  Slightly
different versions of the OS may report different values of
\code{R.version\$os}, as may different versions of \R.

\code{R.version.string} is a copy of \code{R.version\$version.string}
for simplicity and backwards compatibility.
\end{Note}
\begin{SeeAlso}\relax
\code{\LinkA{sessionInfo}{sessionInfo}} which provides additional
information;
\code{\LinkA{getRversion}{getRversion}} typically used inside R code,
\code{\LinkA{.Platform}{.Platform}}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
require(graphics)

R.version$os # to check how lucky you are ...
plot(0) # any plot
mtext(R.version.string, side=1,line=4,adj=1)# a useful bottom-right note
\end{ExampleCode}
\end{Examples}

