我正在学习R,只是把它安装在我的办公室电脑上.我在计算机上没有管理员权限(因为我甚至不得不打电话给IT进行安装).
然后我安装了一个包.首先,它在键入时不起作用,例如:
install.packages("thepackage")
Run Code Online (Sandbox Code Playgroud)
错误消息是这样的:
Error in normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company\5050\Users\myusername\Documents\R\win-library\3.3": Access is denied
In addition: Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company/5050/Users/myusername/Documents/R/win-library/3.3": Access is denied
Run Code Online (Sandbox Code Playgroud)
我做了一些功课,发现一个潜在的解决方案是"将网络驱动器映射到您的网络文件夹".我不确定这意味着什么,但我试试这个:
install.packages("thepackage",lib="H:/Documents/R/win-library/3.3")
Run Code Online (Sandbox Code Playgroud)
因为看起来我有更多"控制"H驱动器(它有我的用户名).它有效:
package ‘thepackage’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\myusername\AppData\Local\Temp\Rtmp4MNURu\downloaded_packages
Run Code Online (Sandbox Code Playgroud)
然后我无法加载包,
library(thepackage)
Run Code Online (Sandbox Code Playgroud)
他说:
Error in normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company/5050/Users/myusername/Documents/R/win-library/3.3": Access is denied
Run Code Online (Sandbox Code Playgroud)
但这又有效:
library(thepackage,lib="H:/Documents/R/win-library/3.3")
Run Code Online (Sandbox Code Playgroud)
那么如何将normalizePath设置为一个有效的方法来避免额外的而且不必要的库目录规范呢?
您可以将以下行放入主目录的.Rprofile文件中(如果尚不存在,则创建它):
.libPaths("H:/Documents/R/win-library/3.3")
Run Code Online (Sandbox Code Playgroud)
这样,默认情况下将使用该位置。.Rprofile每次打开任何新的 R 会话时都会运行它。您可以将您没有写入权限的文件夹的现有内容复制到此文件夹,以包含所有预安装的软件包。
| 归档时间: |
|
| 查看次数: |
9951 次 |
| 最近记录: |