.First()
which
R will run automatically when you start
it.
As of this revision, the .First()
function is defined in the
Rprofile
file (see below) that is also run on startup.
.First()
is a great place to start learning about
functions in R.
You can write a function on the command line, but it is a lot easier using a
text editor. See what the .First()
function contains after you have started R
by entering:
> .First function() { require("ctest", quietly = TRUE) }
Bit of a catch-22 here, as you want to edit the function without having changed
the editor to your preference. One way to get around this is to edit the
Rprofile
file with your favorite editor. You may be unable to do
this if you don't have the authority to change files in the
R directory tree, or you may be unwilling to
subject other people who use R to your
favorite editor. To stay on the safe side, you'll have to create a
.First()
file in the current directory that will clobber the one
defined in Rprofile
, but perform the same functions.
> .First<-function() { + require("ctest", quietly = TRUE) + options(editor="my_favorite_editor") + }
on the command line. If you enter just the name of the function as above, you should see the results of your creation. Now add the empty parentheses,
> .First()
and you will run the function manually, changing the editor to whatever you have
chosen. You can change options, invoke functions like x11()
that
will start up a graphics window, load a library or anything else you want to do
to set up your initial R environment. Allow
me a moment of pretense and assume that you would like to have the
xtab()
function available when you are using
R. Simply add the following line to your
.First()
function, changing the directory path to the one
appropriate for your system.
source("/home/jim/R/kickstart/xtab.R")
.First()
function to any directories in
which you want to start R so that it will be
available at startup (but see below for more far-reaching initializations).
One easy way to do this is to have a text file containing the current version
of .First()
somewhere. When you start working in a new directory,
> source("/home/jim/R/First.txt")
and remember to save the workspace image
when you leave
R.
.First
can even reel off a sound file of atmospheric music if it
makes you feel better:
system("noatun /home/jim/mod/toonz/r_intro.wav")
but of course you'll have to supply your own intro music and player.
.First()
function will only be run if it is in the .RData file
in the directory in which R starts up.
Above the .First()
function are a few other ways to customize the
R startup.
The preferred method at the moment appears to be editing the
$R_HOME/etc/Renviron
file for globally setting a default
or the .Renviron
file that is created in your home directory for a
shared system. For example:
... ## Default browser R_BROWSER=${R_BROWSER-'/usr/bin/konqueror'} ## Default editor EDITOR=${EDITOR-${nedit}} ...
Konqueror
and the default
editor to NEdit
.
The .Rprofile
file may be in your home directory, or may be in
R working directories. It will be read by the
R program when it starts up. You can edit
this file and its global counterpart
$R_HOME/library/base/R/Rprofile
in much the same way.
For more information, see An Introduction to R: Customizing the environment.