安德鲁·格尔曼(Andrew Gelman)最近对R缺乏一个简单的升级过程感到遗憾(可能在Windows上比Linux更相关).有没有人有一个很好的技巧来进行升级,从安装软件到复制所有设置/包?
这个建议包含在评论中,是我最近一直在使用的.首先安装新版本,然后在旧版本中运行:
#--run in the old version of R
setwd("C:/Temp/")
packages <- installed.packages()[,"Package"]
save(packages, file="Rpackages")
Run Code Online (Sandbox Code Playgroud)
在新版本中遵循以下内容:
#--run in the new version
setwd("C:/Temp/")
load("Rpackages")
for (p in setdiff(packages, installed.packages()[,"Package"]))
install.packages(p)
Run Code Online (Sandbox Code Playgroud) 我正在尝试遵循此处和此处的建议,以更新 R 查找已安装软件包的位置。.Library.site
我已更新文件中的变量/etc/R/Rprofile.site
以包含预期 R 包库目录的位置:
Sys.setenv(".Library.site" = "~/AppData/R/x86_64-pc-linux-gnu-library/")
Run Code Online (Sandbox Code Playgroud)
但是,当我启动 R 并执行操作时,该.libPaths()
位置不会附加到库位置列表中。为什么?
我试图让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更新?解决方案?