SFu*_*n28 1 r shared-libraries
我试图让R忽略c:\ users \ name \ documents并完全独立/可移植
这是我的目录结构:
.../R/R-2.1.2.2/...
.../R/r_user/
.../R/libs_site/
Run Code Online (Sandbox Code Playgroud)
我更新了Rprofile.site如下:
# Set the working directory
setwd( file.path( R.home() , ".." , "r_user" ) )
# set the home directory
Sys.setenv(HOME=file.path( R.home() , ".." , "r_user" ) )
# Set the site library folder
.Library.site = file.path( R.home() , ".." , "libs_site" )
Run Code Online (Sandbox Code Playgroud)
当R启动时,我运行.libPaths(),但仍然看到c:/ users / ...
因此,也许R不是按照上面的Sys.setenv更新?解决方案?
以我的经验,创建一个名为Renviron.site的文件并不能在我的所有Windows计算机上正常工作,而命名同一个文件。不知道为什么。因此,如果您对上述建议有困难,请尝试使用.Renviron作为名称。
请不要犹豫,批评我的建议,因为当我描述对我有用的东西时,可能会有我不知道的困难。
以我的经验,以下工作有效:
设置R路径
找出默认路径:.libPaths()
临时设置路径(在R脚本中)
.libPaths( "F:/Rlib" )
Run Code Online (Sandbox Code Playgroud)
其中F可能是与USB驱动器相关的字母。
查询路径(Windows和Linux):
Sys.getenv('R_LIBS_USER')
Sys.getenv('R_LIBS')
Sys.getenv('R_USER')
Sys.getenv('R_DOC_DIR')
Sys.getenv('HOME')
Run Code Online (Sandbox Code Playgroud)
也尝试:
normalizePath("~")
Run Code Online (Sandbox Code Playgroud)
也尝试:
getwd()
setwd(dir)
Run Code Online (Sandbox Code Playgroud)
getwd返回表示R进程当前工作目录的绝对文件路径
setwd(dir)用于将工作目录设置为dir。
创建一个名为.Renviron的环境文件,将其放置在工作目录或主目录中:
"C:/Users/username/Documents"
Run Code Online (Sandbox Code Playgroud)
一些用户报告说,.Renviron文件需要位于“ c:/ users / username /”中。如果不确定将其放置在何处,请保存桌面历史记录,然后查看.Rhistory文件的位置。然后,将您的.Renviron文件放在同一位置。保存历史savehistory()
# Windows .Renviron file:
R_LIBS_USER="C:/R/library"
R_USER="C:/R"
R_DOC_DIR="C:/R"
HOME="C:"
Run Code Online (Sandbox Code Playgroud)
设置全局PATH我的电脑/属性/高级系统设置/环境变量->用户变量->路径->编辑c:\ R; c:\ R \ library;
创建一个名为Renviron.site的环境文件,并将其放在以下位置:
/etc/R/
Run Code Online (Sandbox Code Playgroud)
查询路径以检查系统是否正在读取Renviron.site文件。
# Linux Renviron.site file:
R_LIBS_USER="~/R/library"
R_USER="~/R"
R_DOC_DIR="~/R"
#HOME="/home" # may not be needed
Run Code Online (Sandbox Code Playgroud)
备注:afaik从底部到顶部读取文件,因此在底部定义了HOME。在我的设置中,〜已正确分配给/ home /,因此无论如何我都省略了最后一行。
如果使用RStudio,则可能还需要在RStudio程序目录中添加一个rsession.conf文件。以下对我有用:
# Windows 7:
r-libs-user="C:/R/library"
# Kubuntu 12:
# r-libs-user=~/R/%p-library/%v
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4194 次 |
| 最近记录: |