Difference between revisions of "R"
(→Variables) |
(→Variables: revamp following official documentation) |
||
Line 26: | Line 26: | ||
===Variables=== | ===Variables=== | ||
− | {{ic|R}} can be confusing when it comes to [[Environment Variables]], as they are large and duplicated following the '''site''' or '''user''' sides. | + | {{ic|R}} can be confusing when it comes to [[Environment Variables]], as they are large and duplicated following the '''site''' or '''user''' sides. There are two sorts of files used in startup: ''environment files'', defined by {{ic|$R_ENVIRON}} and ''profile files'', defined by {{ic|$R_PROFILE}}. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Most important variables can be found on [http://stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html Environment Variables R Documentation]]. | |
+ | ====Renviron==== | ||
+ | At startup, {{ic|R}} search at early stage for '''site''' and '''user''' {{ic|.Renviron}} files to process for setting [[Environment_Variables]]. The '''site''' file is located in {{ic|/etc/R}}, and generated by configure. | ||
+ | |||
+ | The name of the user file can be specified by the {{ic|R_ENVIRON_USER}} [[Environment_Variables]]. | ||
+ | If you don't specify any file, {{ic|R}} will automatically read {{ic|.Renviron}} in your home directory if there is one. In case you want to use another emplacement for this file, append this line {{ic| export R_ENVIRON_USER ="path/to/.Renviron"}} in one of your [[Startup_files]]. This is the place to set all kind of environment variables using the '''R syntax'''. | ||
+ | ====Rprofile==== | ||
+ | Then {{ic|R}} searches for the '''site-wilde''' {{ic|Rprofile.site}} defined by the {{ic|R_PROFILE}} [[Environment_Variables]]. This file does not exist after a fresh installation. | ||
+ | Finally, {{ic|R}} seraches for '''user''' {{ic|R_PROFILE_USER}}. if unset, a file called {{ic|.Rprofile}} is searched for in the current directory, returned by the {{ic|R}} command {{ic|> getwd()}} or in the user's home directory. This is the place to put all your custom {{ic|R}} code. | ||
== Installing R packages == | == Installing R packages == |
Revision as of 16:21, 27 October 2013
R is a free software environment for statistical computing and graphics (http://www.r-project.org/).
Contents
Installation
Install the r package available in the official repositories
Some external packages may require to be compile in Fortran as well, so installing the gcc-fortran can be a good idea
Initial configuration
Please refer to Initialization at Start of an R Session to get a detailed understanding of startup process.
The home directory of the R
installation is usr/bin/R
. Base packages are found in usr/bin/R/library/base
and site configuration files in /etc/R/
. Aspects of the Locale are accessed by the functions Sys.getlocale
and Sys.localeconv
within the R
session. Locales will be the one defined in your system.
To start a R
session, open your terminal and type this command:
$ R
- Use
Shift+u
for the command (some terminals use ther
letter to repeat the last entered command). Once in yourR
session, the prompt will change to>
- site refers to system-wide in R Documentation
Run help(startup)
to read the documentation about system file configuration, help()
for the on-line help,help.start()
for the HTML browser interface to help, demo()
for some demos and q()
to close the session and quit.
When closing the session, you will be prompted : Save workspace Image ?[y/n/c]
. The workspace is your current working environment and include any user-defined objects, functions. The saved image is stored in .RData
format and will be automatically reloaded the next time R
is started. You can manually save the workspace at any time in the session with the save.image(image.RData)
command, save as many images as you want (eg : image1.RData, image2.RData). You can load image with the load.iamge(image.RData)
command at any time of your session.
Variables
R
can be confusing when it comes to Environment Variables, as they are large and duplicated following the site or user sides. There are two sorts of files used in startup: environment files, defined by $R_ENVIRON
and profile files, defined by $R_PROFILE
.
Most important variables can be found on Environment Variables R Documentation].
Renviron
At startup, R
search at early stage for site and user .Renviron
files to process for setting Environment_Variables. The site file is located in /etc/R
, and generated by configure.
The name of the user file can be specified by the R_ENVIRON_USER
Environment_Variables.
If you don't specify any file, R
will automatically read .Renviron
in your home directory if there is one. In case you want to use another emplacement for this file, append this line export R_ENVIRON_USER ="path/to/.Renviron"
in one of your Startup_files. This is the place to set all kind of environment variables using the R syntax.
Rprofile
Then R
searches for the site-wilde Rprofile.site
defined by the R_PROFILE
Environment_Variables. This file does not exist after a fresh installation.
Finally, R
seraches for user R_PROFILE_USER
. if unset, a file called .Rprofile
is searched for in the current directory, returned by the R
command > getwd()
or in the user's home directory. This is the place to put all your custom R
code.
Installing R packages
There are many add-on R
packages, which can be browsed on The R Website.. They can be installed from within R
using the install.packages(pkgname) command
. R
can install its packages locally as per user local settings or system wide.
Within your R
session, run this command to check that your user library exists and is set correctly:
> Sys.getenv("R_LIBS_USER")
[1] "/path/to/directory/R/packages"
Installation within your R
session is the safest way and won't conflict with the pacman package management, but there is another method to install packages. Run the following command in your terminal:
$ R CMD INSTALL -l $R_LIBS_USER pkg1 pkg2 ...
Upgrading R packages
> update.packages(ask=FALSE)
Or when you also need to rebuild packages which were built for an older version:
> update.packages(ask=FALSE,checkBuilt=TRUE)
Configuration files
The two user configuration files you want in your home folder are .Rprofile
and Renviron.r
. If you want to keep your $HOME
directory as clean as possible, a good practice will be to make the ~/.config/r
directory and append all your environment #Variables in the Renviron.r
file : $HOME/.config/r/Renviron.r
. Then, at the root of your $HOME
directory, append the following line to ~/.Rprofile
:
source ("~/.config/r/Renviron.r")
Renviron.r file
Here is a very basic Renviron.r
you can start with:
Renviron.r
Sys.setenv(R_HOME_USER = "/path/to/your/r/directory") Sys.setenv(R_ENVIRON_USER = "${HOME}/.config/r/.Renviron.r") Sys.setenv(R_LIBS_USER = "/path/to/your/r/library") Sys.setenv(R_HISTFILE = "/path/to/your/filename.Rhistory") # Do not forget to append the .Rhistory Sys.setenv(R_HISTSIZE ='5000') readRenviron("/path/to/any/custom_startup_file") # read any custom startup file
You can add more global options to customize your R
environment. Here is a very short list:
Renviron.r
options(prompt = paste(paste (Sys.info () [c ("user", "nodename")], collapse = "@"),"[R] ")) # customize your R prompt with username and hostname in this format: user@hostname [R] options(digits = 4) # number of digits to print options(stringsAsFactors = FALSE) options(show.signif.stars = FALSE) error = quote(dump.frames("${R_HOME_USER}/testdump", TRUE)) # post-mortem debugiging facilities
See this post for more user configurations.
Adding a graphical frontend to R
The linux version of R does not include a graphical user interface. However, third-party user interfaces for R are available, such as R commander and RKWard.
R Commander frontend
R Commander is a popular user interface to R. There is no Arch linux package available to install R commander, but it is an R package so it can be installed easily from within R. R Commander requires Tk:
# pacman -S tk
To install R Commander, run 'R' from the command line. Then type:
> install.packages("Rcmdr", dependencies=TRUE)
This can take some time.
You can then start R Commander from within R using the library command:
> library("Rcmdr")
RKWard frontend
RKWard is an open-source frontend which allows for data import and browsing as well as running common statistical tests and plots. You can install rkwardAUR from AUR.
Rstudio IDE
RStudio an open-source R IDE. It includes many modern conveniences such as parentheses matching, tab-completion, tool-tip help popups, and a spreadsheet-like data viewer.
Install rstudio-desktop-binAUR (binary version from the Rstudio project website) or rstudio-desktop-gitAUR (development version) from AUR.
The R library path is often configured with the R_LIBS environment variable. RStudio ignores this, so the user must set R_LIBS_USER in ~/.Renviron
, as documented above.