2011-12-18 9 views
6

質問:最新のすべてのRパッケージを、R(と他のすべて)が使用する簡単な場所に移動するにはどうしたらいいですか?私のパッケージは永遠に?R:複数のライブラリの場所を最新のパッケージと組み合わせる

RGedit、RCmdr、Rシェル、RStudioを使用してUbuntu 10.04でRを使いこなしています。一方、私はapt、synaptic、install.packages()などでパッケージを更新し、パッケージを更新し、パッケージを更新しました。これらは明らかにこれらのパッケージがどこにでも置かれていることを意味します(そして時折sudoを投げ込みます)パーミッション。

現在、私は別の(繰り返し)パッケージの異なるバージョンを持っている:

/home/me/R/i486-pc-linux-gnu-library/2.10 
/home/me/R/i486-pc-linux-gnu-library/2.14 
/home/me/R/i486-pc-linux-gnu-library/ 
/usr/local/lib/R/site-library    
/usr/lib/R/site-library      
/usr/lib/R/library 

まず - ちょうど私、私は、複数のライブラリの場所を望んでいない - 私は、単一のマシン上で、単一のユーザーですそれが働くことを望みます。

第2 - 私は接続が極端に遅く、繰り返しパッケージをダウンロードし続けることができません。

これらのライブラリの場所を1つの簡単な場所に簡単にマージする方法はありますか?私は単にフォルダをコピーすることはできますか?

具体的にどのように設定するのですか?これはR関連のものがパッケージを探して更新する場所です。

これは悲惨です。

ありがとうございました。

答えて

4

から異なるものを返す可能性があることを疑うことはここに行く:Rパッケージディレクトリの組織への完全なバカのガイドを:

NB1 - これが私ですUbuntuの経験 - あなたの走行距離は変わる可能性があります NB2 - 私は1台のマシンで1人のユーザーです。

/usr/lib/R/site-library      
/usr/lib/R/library 

ディレクトリ:

Ubuntuがでやすくなる、またはシナプスを経由してインストールしたものを置きます。バニラRのインストールデフォルトでは、ここでパッケージをインストールしようとします:

/usr/local/lib/R/site-library 

これらはあなたがフレンドリーで要求される場合がありますRと相互に作用しているかの方法に応じて、ユーザーが書き込み権限を持っていないシステムディレクトリなので - "ねえ、バディ - そこに書き込むことはできません。あなたのパッケージをあなたのホームディレクトリに入れてほしいですか?"あなたはあなたのGUIや作業環境を決して変更しないと仮定して、無邪気で合理的だと思われます。そうした場合、新しいGUI /環境は、パッケージが置かれたディレクトリを探していない可能性があります。 (ほとんどのインターフェースはあなたの個人的なパッケージライブラリがどこにあるのかを指摘する方法を持っていますが、設定ファイルで悩んでいる人はいますか?)

私にとってはベストプラクティスのようです。私は間違っている)Ubuntuでのデフォルトのインストール設定では、基本的なRシェルからsudo:> sudo Rとしてパッケージ管理を行い、そこからinstall.packages()ブードーを実行することです。これはパッケージをusr/local/lib/R/site-libraryディレクトリに入れているようです。

/site-library/を想定して、コメントを追加何かを保持しながら/library/は、コアパッケージを持っているよう同時に、update.packages()は(/usr/lib/R/site-libraryusr/lib/R/libraryディレクトリ内のファイルを更新するだけでなく、usr/local/lib/R/site-library

ますusr/lib/R/部門については、それが見えます彼らはただのディレクトリ(感謝@Tommy)を動かすことで)あなたはそれをINGのsudoあると仮定すると(任意のパッケージ以前にインストールし、間違った場所に/usr/local/lib/R/site-libraryディレクトリに移動することができがち...)

でインストールしたのですが、通りでした。 usr/lib/R/はaptによって制御されています - そこから何も追加または減算しないでください。

Whew。とにかく - 簡単で、簡単な言葉で。助けをいただき、ありがとうございました。

+0

'/ usr'の下に**書きません。 'dpkg'、' apt'、...だけがこれらのファイルにアクセスする必要があります。ユーザーレベルのファイルの場合は、 '/ usr/local'(または'/opt')を使用します。 –

+0

これはフォルダのコピーを参照していますか?ゴッチャ。だから、私の答えを更新する前に、 '/ usr/lib/R/site-library /'にあるファイルだけがaptによってインストールされていますか?そしてバニラのRのデフォルトインストールは、 'install.packages()'を使って 'usr/local/lib/R/site-packages'にインストールされたパッケージを置きますか?ボーナスポイントの場合、私はapt経由でインストールし、 'update.packages()'を使って更新します。ファイルはどこに行きますか? 'user/lib/R/site-library'を上書きするか、'/usr/local/lib/R/site-library/'に置いてください。これがどこかで綴られている場合は、私にリダイレクトしてください。私の検索は空になった...ありがとう – Trees4theForest

+0

apt、dpkg、...:/ usr/'でインストールされたUbuntu/Debianのものは何でも。あなたがやっていることは何でも(例えば、Rの 'install.packages()'): '/ usr/local'です。これは、R.だけでなく、すべてのアプリケーションの一般的なルールです。手動で '/ usr'の下で処理しないでください。あなたはそれを後悔するかもしれません。ご質問がある場合は、 'r-sig-debian'リストにお尋ねください。 –

7

はい、ほとんどの場合、フォルダをコピーするだけです。しかし、NAMESPACEファイルを持たない2.14より前のパッケージは、おそらくすべてのパッケージに名前空間が必要なR 2.14では機能しません。複数のバージョンがあります...

.libPaths()と入力すると、Rがパッケージを探す場所がわかります。リストの最初は新しいパッケージがインストールされる場所です。私は.libPaths()が一緒に情報の様々なビットを縫い合わせた後RStudio対RCMDなど

+0

お役立ち情報ええ - それはトリックの一部です...しかし、克服できないものではありません。どんなディレクトリを選ぶべきか(そしてそれに固執する)とRがいつもそれを使用するようにする方法についての推奨はありますか? – Trees4theForest

+0

@ Trees4theForest - 更新の答え... – Tommy

+0

オクラホマ - 私は方法を参照してください。そして、私はヘルプファイルで空白になっています...例えば、/ library /と/ site-library /の違いは何ですか? – Trees4theForest

関連する問題