天天看點

R的lib沒有被指定的解決辦法(因為‘lib’沒有被指定)as ‘lib’ is unspecified

情況一:‘lib’沒有被指定

在Windows上運作R,而不是以管理者身份運作。當安裝一個軟體包時,以下指令不起作用:

install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable
           

此時,報錯lib沒有指定

推薦:解決辦法一

as ‘lib’ is unspecified,就将lib進行永久定義,可以在R裡面用如下指令,将lib的路徑定義為:“C:/Users/Administrator/Desktop/test”,該路徑就是以後R語言包的安裝路徑。

.libPaths()
.libPaths("C:/Users/Administrator/Desktop/test")
           
R的lib沒有被指定的解決辦法(因為‘lib’沒有被指定)as ‘lib’ is unspecified

解決辦法二

不需要再進行lib定義,要安裝包,必須指定一個庫位置:

install.packages("zoo", lib="C:/software/Rpackages")
           

要加載一個包,我還必須指定庫位置:

library("zoo", lib.loc="C:/software/Rpackages")
           

所有這些都沒問題,但我想知道是否可以将C:/software/Rpackages以某種方式添加到庫路徑中,是以不必每次都輸入它。

檢視你的library路徑

.libPaths()

[1] "D:/R/R-3.6.1/library" "C:/Program Files/RStudio/R/library" 
           

其它

如果在運作某軟體或編譯程式時提示缺少、找不到libtcmalloc.dll等類似提示,您可将從51dll下載下傳來的libtcmalloc.dll拷貝到指定目錄即可(一般是system系統目錄或放到軟體同級目錄裡面),或者重新添加檔案引用。

參考資料https://blog.csdn.net/tandelin/article/details/87719623

情況二: 'lib=“C:/Program Files/R/R-3.6.2/library”'不可寫

install.packages("BiocManager")
library(BiocManager)
BiocManager::install("hgu133plus2cdf")
options(warn =-1)
library(hgu133plus2cdf)
           
install.packages("vcd")
Warning in install.packages("vcd") :
  'lib="C:/Program Files/r/R-3.3.3/library"'不可寫
Error in if (file.exists(dest) && file.mtime(dest) > file.mtime(lib) &&  :
  需要TRUE/FALSE值的地方不可以用缺少值
           

解決方法:用管理者身份打開Rgui或RStudio