2012-02-02 14 views
18

iplotsとrjavaパッケージをインストールしました。このライブラリ(iplots)を実行すると、次のエラーが発生します。私はJDKを自分のPCにインストールしています。64ビットWindowsコンピュータで64ビットRで使用するためにrJavaをインストールするにはどうすればよいですか?

Loading required package: rJava 
Error : .onLoad failed in loadNamespace() for 'rJava', details: 
call: fun(libname, pkgname) 
error: JAVA_HOME cannot be determined from the Registry 

エラー:パッケージ「rJava」のエラーは、Javaがマシンに配置されているRを告げるあなたのレジストリにエントリがないことを言っている

答えて

23

ロードできませんでした。レジストリが破損していますが、Javaをインストールしていない可能性があります。 Java Runtime EnvironmentまたはJava Development Kitのいずれかをインストールできます。

(You can download Java here.)

は、Javaをインストールした場合、それを再インストールしてみてください。これにより、レジストリにエントリが戻されます。

これが機能しない場合は、Rがレジストリエントリを探している場所を正確に調べることができます。 rJavaがJavaを見つけるために使用する関数は、rJava :::。onLoad関数にあります。その関数内にはfind.javaというサブ関数があります。

find.java <- function() { 
     for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java Runtime Environment", 
      "Software\\JavaSoft\\Java Development Kit")) { 
      hive <- try(utils::readRegistry(key, root, 2), 
       silent = TRUE) 
      if (!inherits(hive, "try-error")) 
       return(hive) 
     } 
     hive 
    } 

コピーして、Rウィンドウにこれを貼り付け、find.java()それを実行します。私はここに内容をコピーします。 rJavaはJavaHomeのエントリを探しています。それがリストにない場合、それはレジストリにはありません。

あなたはまた、手動でライブラリをロードする前にそれを設定することで、あなたのJavaの場所のディレクトリを設定することができ

Sys.setenv(JAVA_HOME='C:\\Your\\Java\\Directory') 
library(rJava) 
+6

上記は正しいです。さらに、RとJavaのアーキテクチャが一致する必要があることに注意してください(64ビットWindowsの場合)。最後の手段として、Javaインストールを指すようにJAVA_HOMEを設定できますが、通常は上記のことはJavaインストールに何か問題があることを意味します。 –

+0

JDKがpc.javaにインストールされています-version Javaバージョン「1.6.0_20」 Java(TM)SEランタイム環境(ビルド1.6.0_20-b02) Java HotSpot(TM)クライアントVM(ビルド16.3-b01、混合モード、共有) –

+0

私は私の答えにいくつかの追加を加えま​​した。 – nograpes

2

あなたは64ビットのJavaをインストールするには管理者権限を持っていない私のような場合は、単にオープン32 64ビットPC上で正常に動作するはずです。問題の一部として、rJavaライブラリ関数は、Excel/Windowsとおそらく大きすぎる32ビットインタフェース用に設計されている可能性がある組み込みJava関数/ルーチンを呼び出しますすべてのものを変更するためのタスク。

0

回答でlinkが解決しました。

解決の前に、Windows環境にJAVA_HOMEを追加しました。このエラーは解決しましたが、別の問題が発生しました。上記のリンクの解決策は、追加の問題を発生させずにこの問題を解決します。

関連する問題