저는 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에서 다른 레지스트리 키를 찾도록 간단히 지시할 수 있다는 것입니다.