あらゆる種類の外部パッケージをRに効果的にロードする方法について一般的な質問があります。この情報を詳述する多くのソースでは不十分であることがわかりましたが、それぞれのURLについては言及しません。以前に外部パッケージをRに正常にロードしましたが、fgui
パッケージをロードするのに問題があります。
私の特定のケースでは、ライブラリfgui
をRStudioにロードできません。まず、次のコマンドを使用してCRANから直接ダウンロードします。
install.packages("fgui", lib="~/Documents/R_dir")
これは私にとってはうまくいきます。私の作業ディレクトリは〜/ Documents/R_dirに設定されています
私が使用する次のコマンドは次のとおりです。
library("fgui", lib.loc="~/Documents/R_dir")
私が得るエラーは次のとおりです。
Error : .onLoad failed in loadNamespace() for 'tcltk', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /opt/X11/lib/libX11.6.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so
Reason: image not found
Error: package or namespace load failed for ‘fgui’
スレッド " Rでlibrary(ggplot2)を読み込もうとしたときにエラーが発生しました "を調べましたが、質問に答えられませんでした。
パッケージfgui
をRStudioで正しく動作させるための提案があれば、私を助けてください。外部パッケージをRに効果的にロードするというより一般的な問題に自由に対処してください。
tcltk
は一般的なパッケージではありません。おそらくすでにシステムにインストールされており、CRANにないため(stats
などのRに付属の基本パッケージと同じように)、通常のinstall.packages
プロシージャを使用してインストールすることはできません。また、tcltk2
はtcltk
と同じではありません。これは、tcltk
の機能を拡張する(そして依存する)パッケージです。
だから、これから始めましょう:
> capabilities("tcltk")
tcltk
TRUE
それがFALSE
に戻った場合、それはあなたのRがtcltkサポートで構築されていないことを意味します。使用しているOSがわからないので、手助けするのは少し難しいです。
そうは言っても、Linuxを使用している場合は、R tcltkサポート付き を再構築する必要があります。これは比較的簡単なはずです。基本的に、Tclとtkがシステムの標準的な場所(Sudo apt-get install tcl8.5-dev tk8.5-dev
など)で使用できることを確認してから、通常の手順に従ってRを再構築します。
Mac OSを使用している場合は、 John FoxがRcmdrに関連してここで説明しています と同じエラーが発生します。要するに、それはおそらく2つのことのうちの1つです:
Tclがインストールされているディレクトリに関連するファイルパーミッションの問題。 Foxの言葉を引用すると、「Rコマンドプロンプトで次のコマンドを発行することで、この問題の原因を確認できます。
system("ls -ld /usr/local /usr/local/lib /usr/local/lib/libtcl*")
# ls: /usr/local/lib: Permission denied
# ls: /usr/local/lib/libtcl*: Permission denied
# drwx------ 8 root wheel 272 Sep 24 10:21 /usr/local
システムコマンドの出力が上記のようになっている場合は、ターミナルに移動して次の手順を実行する必要があります。Sudo chmod -R a+rX /usr/local
パスワードを入力して、ディレクトリのアクセス許可を変更します。
シンボリックリンクを作成することによっても解決できる場合があります この回答で説明されているように 。
Tcl/tkをサポートせずにソースからRをビルドしない限り、これはWindowsでは発生しないはずです。
Rの公式インストール手順 言う:
注:X11(tcltkを含む)を使用するには、OS Xの一部ではなくなったため、 XQuartz をインストールする必要があります。OSXを新しいメジャーバージョンにアップグレードするときは、必ずXQuartzを再インストールしてください。
したがって、Rでtcltk
パッケージを使用する場合は、XQuartzを(再)インストールするだけです。
問題が解決しました...
Arch Linuxでは、tk
はtcl
とは別のパッケージであり、両方をインストールする必要があります。
_Sudo pacman -S tcl tk
_
これは、Rを使用したcapabilities("tcltk")
からの出力がTRUE
である場合です(つまり、ここでの回答で前述したように、Rはtcltk
サポートを使用してコンパイルされます。これはArchリポジトリからインストールした場合)。
Mac-OSユーザーの場合:
私は最近この問題に苦労し、R-3.1.2にバグがあることを発見しました。これは、インストールされていないのにotoolがインストールされていることを前提としています。
R-3.0.0(およびそれ以降)にはTck/Tk 8.6.0が付属しているため、インストールする必要はありません。
Rの最新バージョン(3.4.2)にアップグレードするだけで、問題が解決しました。
私は同じ問題を抱えていて、簡単な修正を見つける前にうさぎの穴を掘り下げました。 bianryからRをインストールすると、デフォルトでtcltkが含まれます。デフォルトのインストールでインストーラーを実行するだけです。ここで.dmgを取得できます: https://cran.r-project.org/bin/macosx/