我有一个窗口ubuntu。我在窗户上安装了R。最近,我试图在我的ubuntu中调用一个R脚本,但它告诉我库没有安装。有没有办法告诉ubuntu的R安装使用我的windows R库,这样我就不用在ubuntu上重新安装它们了吗?
StratifiedFullModel/SecondRun$ Rscript StratifiedFullModels.R
Loading required package: car
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages(x, dependencies = TRUE) :
'lib = "/usr/local/lib/R/site-library"' is not writable
Error in install.packages(x, dependencies = TRUE) :
unable to install packages
Calls: lapply -> FUN -> install.packages
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘car’
Execution halted这很奇怪,因为脚本被设置为检查包(其中之一是car ),然后加载它们或安装它们。我怀疑它这样做并不是因为某些权限问题。
这是有问题的,因为我可能想编写脚本,只需自动安装包,而无需手动完成,如果我与同事共享脚本,或者将工作转移到新机器上,这将很费时。
编辑:在ubuntu中尝试使用图灵R,运行install.packages("car")返回以下错误:
> install.packages("car")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("car") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) cancel
Error in install.packages("car") : unable to install packages
>我刚取消了安装。我认为这证实了我对权限存在问题的怀疑。
发布于 2021-09-18 18:08:39
R的Linux和Windows安装是完全分开的,其中包括包。也就是说,您可以在WSL中运行Windows版本,因此不需要维护重复的环境。
下面是在我的机器上运行的Linux和Windows的屏幕截图,来自WSL:

发布于 2021-09-18 17:01:06
请注意,这个答案是基于我的经验,WSL,而不是具体的R。我欢迎任何在WSL下使用R的用户提供更新或更权威的答复。
我相信,如果您尝试使用WSL中的一些Windows库,您将会遇到问题。理论上,“纯-R”库应该可以工作,但在我看来,从一些快速搜索来看,R也可以包含编译过的代码,这将是特定于平台的代码。在这种情况下,如果任何库都以本机代码结束,那么当从Linux调用带有Linux路径结构(例如/home而不是C:\Users)、进程和其他OS结构时,Windows库就会出现问题。
至于权限问题,R使用的是一个默认的库目录(在/usr/local/lib/R/site-library下),该目录只能由root写。您似乎可以更改库安装目录,如下所示:
> install.packages("car", lib="/home/<username>/.local/lib/R/site-library/")当然,您需要先创建该目录。有关更多详细信息,请参阅此页。
https://stackoverflow.com/questions/69236439
复制相似问题