下午好!
我是大学的系统管理员,我负责为计算机实验室设置图像。 R是默认图像的一部分,并且在最长的时间内我们只有一个登录所有实验室用户,允许我们设置一次默认目录,然后在多个系统中对其进行成像。这已经改变了,我们现在让所有用户都登录了个性化登录。这让我遇到了一个与R有关的问题,以及为什么我转向你。
您可能会发现,大多数人都知道,当第一次运行R时,会打开一个对话框,提示输入保存包等的位置。点击“确定”,它就是用户文件,但点击其他任何内容,无论你把它放在哪里。问题是,我们已经相当严格地锁定了系统,并且访问除用户个人目录之外的任何内容都不是我们想要做的事情。
我的问题是 - 有没有办法在第一次运行时强制R通过免提脚本或仅在某处设置,默认为系统上用户的目录以进行包存储?这将阻止我必须授予所有用户访问R目录的读写权限,并且由于他们实际上无法选择更改它而具有更少的搞砸的可能性。如果我必须继续在该文件夹中授予权限,我可以,但我宁愿不这样做。
谢谢!
答案 0 :(得分:1)
我现在无法测试,但我相信您可以在R etc目录中的Rprofile.site文件中添加Sys.setenv(R_LIBS_USER=path.expand('~\R\library'))
之类的内容。
答案 1 :(得分:1)
编辑.Renviron文件以设置默认路径:
# .Renviron file
R_LIBS = '~/.R/library'
答案 2 :(得分:0)
'...默认使用系统上的用户目录进行包存储...'
另一种方式,特别是如果您希望员工/学生的不同设置,则可以使用组策略为登录时的所选计算机/用户设置环境变量。
e.g。相当于......
SETX "R_LIBS" "\\fileserver2/department_shared/public/r/packages"
您可以通过启动R并尝试
轻松检查这是否有效Sys.getenv("R_LIBS")
此外,此命令可以显示已安装的软件包:
rownames(installed.packages())