Rにパッケージxlsx
をロードするためにrequire(xlsx)
と入力すると、次のメッセージが表示されます。
> require(xlsx)
Loading required package: xlsx
Loading required package: xlsxjars
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
Failed with error: ‘package ‘rJava’ could not be loaded’
rJava
パッケージを手動でロードしようとしましたが、次のエラーメッセージが表示されました。
require(rJava)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.
問題を解決する方法について提案はありますか?
理由はおそらく、64ビットOSおよびRバージョンを使用しているが、Javaがインストールされていないという事実に関連している同じアーキテクチャ。このページからJava 64ビットをダウンロードする必要があります: https://www.Java.com/en/download/manual.jsp
その後、xlsx
パッケージをリロードしてください。 Rを再起動する必要はありません。
Java_HOMEを設定するというのが、私にとってうまくいったのと同様の問題を抱えていました。私は最初にRで疲れました:
Sys.setenv(Java_HOME = "C:/Program Files/Java/jdk1.8.0_101/")
そして、実際に動作したら、新しいシステム変数を追加して、[システムのプロパティ]-> [詳細]-> [環境変数]で設定しました。その後、R/RStudioを再起動し、すべてが機能しました。
これは、Javaバージョンのいずれか(32ビット/ 64ビット)がコンピューターにないためです。両方のJdkをインストールして、コードを実行してください。
Jdksをインストールした後、Rを開き、コードを入力します
system("Java -version")
これにより、インストールされているJdkのバージョンが表示されます。次に、rJavaパッケージをロードしてみてください。これは私のために働いた。
RStudioでこのエラーが発生した場合は、上記のLaurenの環境コードを使用し、ツール、グローバルオプションでRバージョンを32ビットバージョンに変更します。新しいバージョンを使用している場合は、32ビットと64ビットの両方のRオプションが必要です。これにはRの再起動が必要になり、メモリオプションが制限されます。ただし、64ビットバージョンのjreをインストールする必要はありません。
同様の問題がありました。依存パッケージ 'rJava'が原因です。この問題は、異なるJava_HOME
を使用するようにRをリダイレクトすることで克服できます。
if(Sys.getenv("Java_HOME")!=""){
Sys.setenv(Java_HOME="")
}
library(rJava)
これは私のために働いた。
link で回答すると、問題が解決しました。
解決する前に、Java_HOMEをWindows環境に追加してみました。このエラーは解決しましたが、別の問題が発生しました。上記のリンクのソリューションは、追加の問題を作成せずにこの問題を解決します。
私は同じ問題を抱えていたので、解決策を見つけたと思います!
私の修正は、32ビットと64ビットの両方のJRE(Java Runtime Environment)バージョン8アップデート181をインストールすることでした(別のアプリケーションには32ビットが必要ですが、修正は64ビットを単独で再インストールするだけで十分です)。
MacOSでこの問題がある場合、ここでは簡単な方法はありません:(特に、R3.4を使用する場合。私はすでにそこにいます;)
R3.3の場合、少し簡単ではありません(R3.3は異なるコンパイラを使用してコンパイルされました)。
使用できる代替パッケージはreadxlです。このパッケージは外部依存関係を必要としません。