728x90
320x100
Rserve는 R과 통신하기 위해 Java 프로그램 내에서 사용되는 클라이언트 jar를 제공합니다.
Rserve 다운로드 페이지 에서 두 파일을 모두 다운로드할 수 있습니다.
REngine.jar 및 RserveEngine.jar을 Java 프로젝트 라이브러리 폴더에 추가합니다.
Rserve를 설치한 후에는 serve를 시작해야 합니다.
R 콘솔에 다음 명령을 입력하여 Rserve 패키지를 가져오고 시작합니다.
R명령을 입력하여 R 콘솔을 실행 후,
# R
R콘솔에서 Rserve를 실행합니다.
> library(Rserve)
> Rserve(port=6311, args="--RS-conf /etc/Rserv.conf --no-save")
Java에서 Rserve로 R을 사용하는 예제는 다음과 같습니다.
import org.rosuda.REngine.REXP;
import org.rosuda.REngine.Rserve.RConnection;
public class Rserve {
public static void main(String a[]) {
RConnection connection = null;
try {
/* Create a connection to Rserve instance running
* IP Addr, UserID, Password required (/etc/Ruser.txt)
*/
connection = new RConnection("IP Addr", 6311);
connection.login("UserID","Password");
String vector = "c(1,2,3,4)";
connection.eval("meanVal=mean(" + vector + ")");
double mean = connection.eval("meanVal").asDouble();
System.out.println("The mean of given vector is=" + mean);
REXP x = connection.eval("R.version.string");
System.out.println(x.asString());
double[] myvalues = {1.0, 1.5, 2.2, 0.5, 0.9, 1.12};
connection.assign("myvalues", myvalues);
x = connection.eval("mean(myvalues)");
System.out.println(x.asDouble());
x = connection.eval("sd(myvalues)");
System.out.println(x.asDouble());
} catch (Exception e) {
e.printStackTrace();
}finally{
connection.close();
}
}
}
-- 결과 --
The mean of given vector is=2.5
R version 3.6.0 (2019-04-26)
1.2033333333333334
0.5858896369340105
Linux (CentOS 7), R / Rserve 설치하기
728x90
반응형
'잡다한 IT' 카테고리의 다른 글
System.NullReferenceException 오류 해결하기 (0) | 2023.06.05 |
---|---|
PuTTy 치명적 에러, expected key exchange group packet from server 해결하기 (0) | 2023.05.26 |
이클립스에 톰캣 8.5추가 時, 오류 (Tomcat 8.0 installation is expected.) 해결하기 (0) | 2023.05.03 |
RServe 란? (0) | 2023.03.31 |
Linux (CentOS 7), R / Rserve 설치하기 (0) | 2023.03.30 |