UbuntuマシンにRバージョン3.0.2(2013-09-25)でパッケージをインストールすると、この問題が発生します。
install.packages("randomForest")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages :
'lib = "/usr/local/lib/R/site-library"' is not writable
解決方法
Rバージョン3.2.2(2015-08-14)の場合、Rはインストールプロセス内でRライブラリを保存する別のパスを提案するため、この問題に対処する必要があります。インストールは次のようになります:(ここでは「ランダム」がサンプルパッケージとして使用されます)
install.packages('random')
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("random") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead? (y/n) y
Would you like to create a personal library
~/R/pc-linux-gnu-library/3.2
to install packages into? (y/n) y
したがって、インストール中に「y」で両方の質問に答えると、パッケージが正しくインストールされます。
18/01/19更新
Rパッケージを追加ファイルに保存したくない場合:
Antoine-Sac および Robert TheSim として、 'site-library'に書き込むことができるように、スタッフグループに自分を追加することができます。 (重要な追加を見るには名前をクリックしてください)
この更新の前に、このコメントで、「chmod o + w」を使用して書き込みできるようにするために、「site-library」フォルダの許可を変更するオプションについて言及しました。セキュリティの問題を想定しているが、その時点ではわからないが、私はそれについて警告したが、主にそれを解決するために誰かを待っていた。アントワーヌ・サックとロバート・ザシム そのようにした その間。ありがとう!
「スタッフ」というグループに自分を追加します
Sudo usermod -a -G staff your_user_name
your_user_nameをログインユーザー名に置き換えてから、ログオフして再ログインします。
セキュリティ違反およびbtwであるchmod 777を使用しないでください。完全なナンセンス!!!
それはまさにそれが言うことを意味します。そのフォルダには書き込み権限がありません。 そのフォルダの権限を変更する 、または Rライブラリの場所を変更する のいずれかが必要です。
Windowsを使用している場合、R(またはRStudio)を管理者として実行できます。
Rを閉じてから、RまたはRStudioアイコンに移動し、右クリックして「管理者として開く」。それは完全に機能し、パッケージのインストール中のすべてのエラーメッセージは永久に消えます。
複数のパッケージでinstall.packages()
を使用した人
install.packages("vcd","vcdExtra","plyr")
そして、同じ警告を得ました:
Warning in install.packages :
'lib = "vcdExtra"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) cancel
Error in install.packages : unable to install packages
インストールそれぞれ個別に私のために働いた
install.packages("vcd")
install.packages("vcdExtra")
または、パッケージ名をベクターに入れます:
install.packages(c("vcd","vcdExtra","plyr"))
問題は、デフォルトのインストール場所が書き込み権限を持たない場所であるということです。
解決策は、書き込み権限があるインストール場所を使用することです。
具体的に、次のコマンドを使用して、特別な権限を必要とせず、自動的に検出される場所に個人用ライブラリフォルダーを作成することをお勧めします次回Rを起動するとき:
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE) # create personal library
.libPaths(Sys.getenv("R_LIBS_USER")) # add to the path
install.packages("randomForest") # install like always
library(randomForest) # use library like always
dir.create
への呼び出しは、 this faq の提案に従い、Sys.getenv("R_LIBS_USER")
に従って名前が付けられたフォルダーを作成します。これは、Rの次の起動時に検出されるため、特別な場所を指定せずにinstall.packages
およびlibrary
を使用できるため、適切な選択です。 .libPaths
関数呼び出しを使用すると、新しいフォルダーをライブラリパスにすぐに追加して、Rの再起動を回避できます。最初の2行は、個人用ライブラリをまだ作成していない場合にのみ必要ですが、それらを繰り返し実行しても害はありません。その後、パッケージのインストールとライブラリの使用を通常どおりに実行できます。