私は、クライアントがデータセットから特定の情報を取得できるように R を利用するスクリプトを JMP で作成しました。クライアントはこれまで R をインストールしたことがなかったので、私はインストールを手伝いました (私自身も何十回もインストールしています)。私のスクリプトは、JMP がコンピュータ上で R を見つけられない場合にエラーをスローします (Throw(rconn = R Connect();,...) ステートメントを使用します)。R のインストール時に JMP が実行中だったので、スクリプトを実行しましたが、R を見つけることができませんでした。JMP を終了して再起動しましたが、同じエラーが発生しました。コンピュータを再起動してスクリプトを実行しましたが、同じエラーが発生しました。R をアンインストールして JMP を終了し、R をインストールして JMP を起動しましたが、同じエラーが発生しました。そこで、宛先を指定して JMP が R を見つけられるようにできるかどうか疑問に思っています。JMP サポート ファイルには次のように書かれています。
How JMP Finds R
JMP delays loading R until a JSL-based script requires access to it. When JMP needs to load R, it follows the standard steps for finding R on a Windows computer:
1.Look up the environment variable R_HOME.
If the variable exists, load R from the specified directory.
2.If the environment variable R_HOME does not exist, look up the InstallPath value in the Windows registry under the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\R-core\R
For 32-bit JMP running on a 64-bit machine, the InstallPath value is under the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\R-core\R
If the InstallPath value exists, load R from the specified directory.
3.If the InstallPath value does not exist, an error message states that R could not be found.
環境変数 R_HOME を指定したり、InstallPath 値を渡したりすることはできますか?
結局、解決策は、ユーザーがコンピューターの管理者権限を持っていなかったことでした (R をインストールできたので、権限を持っていたようです)。R をアンインストールし、管理者権限を要求して R を再インストールすると、すべて正常に動作しました。
さらに調査を進めたところ、レジストリ キーは HKEY_LOCAL_MACHINE\... ではなく HKEY_LOCAL_USER\... にあることが判明しました。
この人の場合、R キーが私や他のすべてのユーザーの場合と違ってそこにあるのかはわかりませんが、私の質問は変わりません。JMP に別のレジストリ キーを探すように指示するだけでよいのでしょうか?