I upgraded R to v2.14.0 and along with the upgrade I decided to move the standard package repository to Dropbox so laptop and desktop are in sync all the time.
I set my R_LIBS=/Dropbox/ToolBox/R/packages
in .Renviron
and when open Rstudio or R.app (mac) I get the following commands:
> Sys.getenv("R_LIBS")
[1] "/Dropbox/Toolbox/R/packages"
> .libPaths()
[1] "/Dropbox/Toolbox/R/packages"
[2] "/Library/Frameworks/R.framework/Versions/2.14/Resources/library"
[3] "/Applications/RStudio.app/Contents/Resources/R/library
but when I run the same commands in a .Snw (Textmate+Sweave) I get:
> Sys.getenv("R_LIBS")
[1] ""
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/2.14/Resources/library"
As you can see above when I invoke R from Sweave it only picks up the standard repository.I have created Renviron.site
, Rprofile.site
, read help(Startup)
following similar questions q1 , and q2 with no success.
Could anybody shed me some light (step by step) on how to fix this issue please?
Update: When I sweave my .Snw from within R it picks up all the right folders. I am not sure why when is done from textmate does something different.
Any ideas?
Thanks to Josh I realised that the problem was not on R itself but in textmate.
Neither of Sweave and R bundles were picking up my local repository due to option --vanilla was set on as default in both bundles.
Here it is my solution:
>mate R.tmbundle
this will open the R bundle directly in textmatestdin, stdout, stderr, pid = my_popen3("R --vanilla --slave --encoding=UTF-8 2>&1")
echo -e "setwd('$SW')\nSweave('$TM_FILEPATH')" | R --vanilla --quiet | pre
Happy days are back again :-)
Try putting a line like this in your "Rprofile.site"
file, located in $R_HOME/etc/
. (Here, $R_HOME
is the directory returned by running R.home()
in an active R
session.)
(You'll also want to remove (perhaps temporarily) any ".Rprofile"
files from: (a) your home directory; and (b) the current directory (from which R/Sweave is being launched).)
.libPaths(c("/Dropbox/Toolbox/R/packages",
.libPaths()))
Then, if that doesn't solve the problem outright (and it sure works for me), Sweave and then apply LaTeX to a skeletal .Snw
document that includes the following chunk.
<<>>=
R.home()
.libPaths()
@
The output should provide some useful hints to the source of your problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With