[解決済み] Win7 64bitでrJavaパッケージとRの併用
質問
をインストールしようとしています。
rJava
をWin 7 64bitのコンピュータにインストールしました。以下のように実行すると
install.packages("rJava")
は、すべてうまくいっているようです。
Installing package(s) into ‘C:/Users/djq/Documents/R/win-library/2.13’
(as ‘lib’ is unspecified)
trying URL 'http://software.rc.fas.harvard.edu/mirrors/R/bin/windows/contrib/2.13/rJava_0.9-1.zip'
Content type 'application/zip' length 654936 bytes (639 Kb)
opened URL
downloaded 639 Kb
package 'rJava' successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\TEMP\RtmpW2eAUw\downloaded_packages
が、ライブラリを読み込もうとすると
library(rJava)
以下のようなエラーが発生します。
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Users/me/Documents/R/win-library/2.13/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: package/namespace load failed for 'rJava'
私は、Java JRE(32ビット版と64ビット版の両方を試す)とJDK(32ビット版と64ビット版の両方を使用)をインストールしました。私のRのバージョンは
R version 2.13.1 (2011-07-08)
で、RStudioを使用しています。
32bitのRで試したところ
rJava
を使用することができます。問題は、単に
rJava
はR 64bitでは実行されないのですか?パッケージが64ビット用ではなく32ビット用であることを見分けるにはどうしたらよいでしょうか?
edit: 今投稿しました。
R.version()
:
> R.Version()
$platform
[1] "x86_64-pc-mingw32"
$arch
[1] "x86_64"
$os
[1] "mingw32"
$system
[1] "x86_64, mingw32"
$status
[1] ""
$major
[1] "2"
$minor
[1] "13.1"
$year
[1] "2011"
$month
[1] "07"
$day
[1] "08"
$`svn rev`
[1] "56322"
$language
[1] "R"
$version.string
[1] "R version 2.13.1 (2011-07-08)"
解決方法は?
アップデート(2018年7月)しました。
最新のCRAN版rJavaには
jvm.dll
を手動で設定しなくても、自動的に
PATH
または
JAVA_HOME
. しかし、そのことに注意してください。
- 32ビットRでrJavaを使用するには、以下のものが必要です。 Windows x86版Java
- 64ビットRでrJavaを使用するには、以下のものが必要です。 Windows x64版Java
-
R パッケージを multiarch (デフォルト) でビルドまたはチェックするには、次のようにする必要があります。
両方をインストールする
Windows x64用Java
と同様に
Windows x86版Java
. Win 64 の場合、前者のインストールは
C:\Program files\Java\
で、後者はC:\Program Files (x86)\Java\
というように、両者が衝突しないようにします。
Javaバージョン9より、x86(win32)のサポートは終了しています。したがって、最新の動作するマルチアーキテクチャのセットアップは、以下の両方をインストールすることです。 jdk-8u172-windows-i586.exe と jdk-8u172-windows-x64.exe で、CRANからバイナリパッケージを取得します。
install.packages("rJava")
CRANからのバイナリパッケージは、それだけでjvmを拾ってくるはずです。
専門家のみ
: rJava をソースからビルドするには
--merge-multiarch
フラグを使用します。
install.packages('rJava', type = 'source', INSTALL_opts='--merge-multiarch')
古いアンサーです。
(注意: 他の回答/コメントで多くの人がJAVA_HOMEを削除するように言っているので、それを考慮してください。私は最近この問題を再検討していないので、以下のすべての手順がまだ必要であるかどうかわかりません)
Windows 7 64bit で R + rJava を起動するための簡単なアドバイスです。いくつかの可能性がありますが、ほとんどの場合、致命的な欠陥があります。以下は、私にとってうまくいった方法です。
jvm.dllをPATHに追加します。
R<->JavaブリッジであるrJavaはjvm.dllを必要としますが、RはそのDLLを見つけるのが困難です。それは、以下のようなフォルダに存在します。
C:\Program Files\Java\jdk1.6.0_25\jre\bin\server
または
C:\Program Files\Java\jre6\jre\bin\client
あなたのものがどこにあるにせよ、そのディレクトリをWindowsのPATH変数に追加してください。(Windows -> "Path" -> "Edit environment variables to your account" -> PATH -> edit the value.).
PATH にすでに Java が入っているかもしれません。その場合、クライアント/サーバ・ディレクトリは、すでにPATH上にあるものと同じJava "home"ディレクトリの中にあるはずです。
念のため、アーキテクチャが一致していることを確認してください。
Program Files
は64ビットなので、R64を実行する必要があります。もし、Javaが
Program Files (x86)
それは32ビットだから、32ビットのRを使うんだ。
WindowsメニューからRを再立ち上げ
Rが起動している場合は、終了します。
スタートメニューから、R / RGUI, RStudio を起動します。これは非常に重要で、RにPATHの変更を認識させるためです。
rJava 0.9.2をインストールします。
それ以前のバージョンでは動作しません ミラーは最新ではないので、www.rforge.net のソースにアクセスしてください。 http://www.rforge.net/rJava/files/ . そこにあるアドバイスに注目してください
“Please use
`install.packages('rJava',,'http://www.rforge.net/')`
to install.”
ほぼ正解です。これは実際に動作します。
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
句読点に注意 謎の「.libPaths()[1]」は、パッケージをプライマリ・ライブラリ・ディレクトリにインストールするようにRに指示するだけです。この値を空白にすると、デフォルトのはずなのに、なぜかうまくいきません。
関連
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
8.2 カマグラ(No.31〜No.40)
-
R LanguageError in hist.default() : 'x' は数値でなければなりません.
-
[R] is.data.frame(x) のエラー : (リスト) オブジェクトを 'double' 型に強制できない。
-
[解決済み] Rの%*%の意味 [重複]について
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み】安定したマッピングを持つggplot2のカテゴリ変数に色を割り当てるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
[解決済み] Javacが見つかりません
-
[解決済み] Windowsのコマンドプロンプトでjavacが動作しない
-
[解決済み] "エラーです。Rでテーマの書式を保存する際に「Don't know how to add RHS to the theme object」(テーマオブジェクトにRHSを追加する方法がわかりません)と表示されます。
-
[解決済み] Rでデータフレームに行を追加する方法は?
-
[解決済み] ggplot 2.0.0でのポイントサイズ
-
[解決済み] R:自然対数を使った方程式をnlsで使う
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?