I have a Macintosh and I am trying to automatically load packages, homemade functions, and use modified setting every time I start R. I believe this can be done with a file called Rprofile.site, and by creating the functions .First and .Last in that file.
One problem is, I have no idea what my R_HOME directory is, what it is used for, or if it even exists. I found two functions that I thought both gave me its location but I am getting different results.
Here's the first
> Sys.getenv("R_home")
R_home
""
And the second
> R.home()
[1] "/Library/Frameworks/R.framework/Resources"
As far as I can tell that second directory doesn't even exist on my machine. I am currently running R from my applications directory.
Over the years I have come to rely on the help(Startup)
documentation as the best place to read up on this. There are numerous per-user and per-site configuration file as is customary for rich applications. It may seem like overkill at first but it is a really good system. And once you grok Renviron
versus Renviron.site
and dito for Rprofile
, you appreciate the consistent behaviour across platforms.
Michael, I too have found this topic to be a bit confusing. I'm on a Mac as well. I created an "Rprofile" file which has all my customizations in it. Here's how mine works (I don't think there is anything special about my set up):
- The "Rprofile" goes in /Users/michael
- The "Rprofile" has to be composed of commands that R will understand (for instance, you can source it).
- The "Rprofile" has to be called .Rprofile The leading period means that the file is hidden from the normal operating system. You have to open a terminal window and do an >ls -la to see it (assuming you cd to that directory, if necessary). Plus you'll see lots of other hidden files. And it probably doesn't exist until you create it, next step.
- I use TextEdit to create a file called R.txt and put the commands in there (start simple for testing purposes).
- Then, in a terminal window, I type >cp R.txt .Rprofile which copies the visible R.txt to the invisible .Rprofile You can check by doing >ls -la again to see it in the directory listing.
- Restart R and see if it worked. For instance, if you put library(ggplot2) in your R.txt, that library should be loaded upon start up. If it doesn't, then a command from that library won't work, like qplot(x = 1:10, y = 1:10). Other people put in commands like cat("My .Rprofile works!\n) which should display during launching.
HTH Bryan
If you run getwd()
, then you will see your R startup directory. On a mac it is typically /User/login_name
That is where I leave my .RProfile
where I load custom functions and also frequently used packages.
Also see: Useful little functions in R (to put in your .RProfile)
and Expert R users, what's in your .Rprofile?…