このエラーは、マシン上の Java の場所を R に示すエントリがレジストリにないことを示しています。レジストリが壊れているか、Java がインストールされていない可能性が高いです。Java ランタイム環境または Java 開発キットのいずれかをインストールできます。
(ここから Java をダウンロードできます。)
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)