내 JMP 추가 기능을 빌드 할 때 JMP to R 인터페이스로 많은 작업을했습니다. JMP to R 사용자 정의 애드 인 빌더 . 따라서 JSL을 사용하여 JMP to R 연결을 시작하는 방법을 배우려면 올바른 위치에 왔습니다!
저는 API를 암기하기보다는 예제를 통해 학습하는 것을지지합니다. 따라서 R을 통해 데이터를 라운드 트립 한 다음 다시 돌아가서 JMP . JMP에서 R로 데이터를 보내고 R에서 작업을 수행 한 다음 결과를 다시 JMP로 리턴해야합니다. 따라서 스크립트의 백본은 다음과 같아야합니다.
//initializes the R interfaces
R Init();
//send data to R
R Send(/*name of JMP object you want to send to R, i.e. data table, list, matrix, string, or numeric*/);
//or
R Send File(/*path to the file you want to send here, as a string*/);
//perform calculations in R
R Submit(/*code you want to execute in R here, as a string*/);
//or
R Submit File(/*path to the file that contains the R code you want to execute*/);
//return data from R
varName = R Get(/*name of object you want to return from R*/);
//terminates the R interfaces
R Term();
아니면, 한 줄로 모두 처리하고 싶을 수도 있습니다. R 보내기 () 당신의 변수 이름을 하나 하나씩, R 제출 () 코드의 경우 R Get () R 변수에 대해 하나씩 :
R Execute(/*list of R input var names*/, /*list of R output var names*/, "\[your R code to submit]\");
내가 보아온 한 가지 일반적인 질문은 '차이점은 무엇입니까? R 보내기 () 과 R 제출 () ? '
R 보내기 () 데이터 구조를 R로 보냅니다. 다섯 가지 옵션은 데이터 테이블,리스트, 행렬, 문자열 및 숫자입니다.
R 제출 () 반대로 R 코드를 실행하려는 문자열에 R 코드를 제출합니다. 따옴표가 포함되어 있지 않거나 다음 코드를 사용하여 이스케이프하면 코드를 문자열로 작성할 수 있습니다. "\ [코드] \" .
일단이 백본이 있으면, 한 가지 질문이 남아 있습니다 : 사용할 수있는 형식으로 R 출력을 어떻게 얻습니까?
대답은 다릅니다.
R에서 검색 한 데이터 테이블을 열려면 다음 명령을 사용하십시오.
R Get(/*name of R variable that contains data table*/) << new data view;
그러면 JMP에서 데이터 테이블이 열립니다.
기존 JMP 데이터 테이블에 열을 추가하려면 다음을 사용할 수 있습니다.
varName = R Get(/*name of R variable that contains list with values*/);
dt << New Column(/*name of new column*/, /*column data type, e.g. Character, Numeric*/, Values(varName));
가장 많이 표시하려면 요새 R 줄거리를 생산, 당신은 사용할 수 있습니다 :
R Get Graphics(/*either png or jpg*/);
JMP 창에서이 이미지를 보려면 다음을 사용하십시오.
New Window("My Plot", R Get Graphics(/*either png or jpg*/));
다른 출력 옵션도 있습니다.이 중 일부는이 섹션에서 다룹니다. JMP 웹 캐스트 마스터하기 .
만들 수있는 한 가지 중요한 메모 : R Get () R 변수 이름은 JSL 표현식의 이름이어야합니다 (즉, 문자열이 아님). R Get ( "var") , 올바르지 않은 것은 R (var) 가져 오기 , 맞습니다.
마지막으로 JMP to R 인터페이스를 사용할 때 한 가지 문제는 사용자 입력에 의존하여 이러한 함수의 매개 변수를 결정한다는 점입니다. 이 경우, 나는 평가 (Parse ()) 이러한 JMP to R 인터페이스 명령을 실행합니다. 예 :
Eval(Parse(varName || " = R Get(" || userInputValue || ");"));
또는
Eval(Parse("dt << New Column(userInputForColumnName, " || userInputForColumnType || ", Values(" || stringNameOfListVariable || "));"));
이것 이외의 다른 JMP to R 함수 ( R 연결 () , R 제어 () , 등)은 Scripting Index에서 찾을 수 있습니다.
행운을 빕니다! 나는 너의 생각을 듣고 싶다. JMP 의견에 아래 R 인터페이스.