맛동산

Rserve 설치 및 Java(이클립스, 자바서버)에서 사용하기 본문

머신러닝/R

Rserve 설치 및 Java(이클립스, 자바서버)에서 사용하기

오지고지리고알파고포켓몬고 2016. 12. 12. 10:41

웹에서 R코드의 지속적인 사용을 위해 Rserve를 선택하게 됨

rJava의 경우 단일 스레드로 되어있어 서버에서 비동기적, 재사용이 불가했음


우선 선행 작업으로 http://tastydarr.tistory.com/62을 보고 R을 설치함


<1>

1. R콘솔(또는 R studio)에서 install.packages("Rserve")라는 명령으로 Rserve를 설치하면 R_HOME 예하의 library 경로에 설치된 것을 확인할 수 있음

(가끔 환경변수 설정을 안하면 요상한 곳에 설치되는 것 같음)




<2>

2. 다음으로 Rserve를 사용할 프로젝트에서 Rserve 사용에 필요한 jar파일을 추가함

(설치법이 같다면 C:\R-3.3.2\library\Rserve\java 에 있음)




<3>

3. 이제 Rserve를 import해서 사용할 일만 남음. 그 전에 우선 자바(톰켓 서버)에서 Rserve를 사용하려면 먼저 R콘솔에서 별도로 library를 로드하고 Rserve를 실행해줘야함


R콘솔에 다음 명령어를 작성함

library(Rserve)

Rserve(FALSE,port=6311,args='--RS-encoding utf8 --no-save --slave --encoding utf8  --internet2')

Rserve(args="--RS- encoding utf8")


R에서 한글을 사용하려면 utf8로 인코딩 설정을 해야하는데, 구글에서 한참을 뒤져서 찾고 실험하고 하다가 

Rserve(FALSE,port=6311,args='--RS-encoding utf8 --no-save --slave --encoding utf8  --internet2')

Rserve(args="--RS- encoding utf8")

순서대로 Rserve를 실행하면 한글이 되는걸 알게됐음.(보통 Rserve에서 한글사용하기랍시고 둘 중 하나만 나와있는데 적어도 내 버전에선 둘 중 하나만 치면 에러발생)

아무튼 저걸 꼭 해야 Rserve에서 한글을 사용할 수 있음




<4>

4. 마지막으로 RConnection 객체를 생성해서 eval함수로 R을 그대로 동작시킬 수 있음

rJava에 비해 Arguments 설정 같은걸 별도로 할 필요는 없지만 콘솔에서 Rserve를 꼭 실행해 둬야 RConnection 객체를 사용할 수 있음

(추가적으로 예외처리도 다 해야 정상실행 됨)





실행결과

'머신러닝 > R' 카테고리의 다른 글

백터(vector) 기초  (0) 2017.03.26
기타  (0) 2017.03.26
rJava 설치 및 Java(이클립스)에서 사용하기  (0) 2016.12.11
R 설치하기  (0) 2016.12.09
유클리드언? 유사도로 유사답변으로 연결해줌  (0) 2016.12.01
Comments