我们可以';t装载R包
我将R升级到v2.14.0,并在升级过程中决定将标准软件包存储库移动到Dropbox,以便笔记本电脑和台式机始终保持同步。 我在我们可以';t装载R包,r,textmate,sweave,R,Textmate,Sweave,我将R升级到v2.14.0,并在升级过程中决定将标准软件包存储库移动到Dropbox,以便笔记本电脑和台式机始终保持同步。 我在.Renviron中设置了我的R_LIBS=/Dropbox/ToolBox/R/packages,当打开Rstudio或R.app(mac)时,我会收到以下命令: > Sys.getenv("R_LIBS") [1] "/Dropbox/Toolbox/R/packages" > .libPaths() [1] &
.Renviron
中设置了我的R_LIBS=/Dropbox/ToolBox/R/packages
,当打开Rstudio或R.app(mac)时,我会收到以下命令:
> 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
但是当我在.Snw(Textmate+swave)中运行相同的命令时,我得到:
如上所述,当我从swave调用R时,它只会选择标准存储库。我创建了Renviron.site
,Rprofile.site
,阅读了帮助(启动)
,但没有成功
有人能告诉我(一步一步)如何解决这个问题吗
更新:
当我从R中删除我的.Snw时,它会选择所有正确的文件夹。我不知道为什么从textmate完成时会做一些不同的事情
有什么想法吗?试着在
“Rprofile.site”
文件中放一行这样的内容,该文件位于$R\u HOME/etc/
中。(此处,$R\u HOME
是在活动的R
会话中运行R.HOME()
返回的目录。)
(您还需要删除(可能是暂时删除)以下目录中的任何“.Rprofile”
文件:(a)您的主目录;和(b)当前目录(从中启动R/swave)。)
然后,如果这不能彻底解决问题(对我来说确实有效),请保存并将LaTeX应用于包含以下区块的骨架.Snw
文档
<<>>=
R.home()
.libPaths()
@
=
R.home()
.libPaths()
@
输出应该为问题的根源提供一些有用的提示。多亏了Josh,我意识到问题不在于R本身,而在于textmate Swave和R捆绑包都没有选择我的本地存储库,因为选项——vanilla在两个捆绑包中都设置为默认值 这是我的解决方案: R束
>mate R.tmbundle
这将直接在textmate中打开R bundlestdin、stdout、stderr、pid=my_popen3(“R--vanilla--slave--encoding=UTF-82>&1”)
echo-e“setwd(“$SW”)\nSweave(“$TM_FILEPATH”)”| R--vanilla--quiet | pre
快乐的日子又回来了:-)+1记录你在R的这一令人困惑的方面所做的研究。这可能与你如何开始学习有关;这个问题是关于一个类似的问题,TeXShop做了一些不同于仅在命令行上运行的事情,因此必须以不同的方式更改正确的环境变量。我照你说的做了,不幸的是没有成功。这是来自上述区块的输出:R.home()[1]“/Library/Frameworks/R.framework/Resources”>.libpath()[1]“/Library/Frameworks/R.framework/Versions/2.14/Resources/Library”,这似乎是
R.home()
的一个奇数值(尽管在Mac上可能会出现)。给定默认的.libpath()
值所指向的目录,我希望看到更像“/Library/Frameworks/R.framework/Versions/2.14/Resources”
。在我的电脑上,R.home()
返回“C:/R/R-2.14.0”
,该目录包含R\u home/library
和R\u home/etc
(包含“Rprofile.site”的目录)
这似乎与TextMate启动Swave的位置有关。要确认这一点,您是否可以在R会话中尝试Swave(“docName.Snw”)
(而不是从命令行运行Swave或让TextMate启动它)?Josh你是对的。当我从R中保存文件时,它会正确地拾取所有文件。所以我想知道当我从textmate中保存文件时发生了什么?真的不知道,因为这本质上是一个textmate问题。至于解决方案,你可以尝试将etc/Rprofile.site
放在textmate用作R.home()的目录中
运行swave时的目录为您保存。为了从其他人那里获得帮助,您可以突出地编辑您的问题,说明您所学到的知识。此外,您可以对这个答案进行投票,因为它确实指向了问题的根源,正如我所预期的那样;)最后,请使用您最终找到的任何解决方案进行更新。
.libPaths(c("/Dropbox/Toolbox/R/packages",
.libPaths()))
<<>>=
R.home()
.libPaths()
@