2011-09-21 5 views
1

JRI를 사용하여 자바에서 csv 파일을 R에로드하려고합니다. 어떤 이유로이 작업을 시도 할 때 프로그램이 종료되고 오류 또는 결과가 반환되지 않습니다. 여기 내 코드는 다음과 같습니다.Java에서 R의 csv 파일에서 읽기 (JRI 사용)

REXP x; 
x = re.eval("data<-read.csv(file='C:\\data.csv', head=TRUE, sep=',')"); 
x = re.eval("data<-data$VALUE"); 
System.out.println(x); 

아무 말도하지 않고 프로그램이 종료됩니다. 나는 연결이 알고 프로그램으로 인해 다음 코드처럼, CSV 파일을로드로 종료되는 작업 : 결과가 25 인으로

REXP x; 
re.eval("x<-c(10,20,30,50)"); 
x = re.eval("x<-x+15"); 
double[] test = x.asDoubleArray(); 
System.out.println(test[0]); 
re.end(); 

! 추가 정보를 얻으려면 PATH, R_INCLUDE_DR, R_SHARE_DR, R_DOC_DR 환경 변수를 설정했습니다. 칼이 언급 한 바와 같이 사전에

감사합니다,

아란

+0

디버깅했습니다. 오류 : 오류 : '\ D'는 "C : \ D"를 시작하는 문자열에서 인식 할 수없는 이스케이프입니다. –

+0

백 슬래시가 4 개 필요합니다! –

+1

답으로 게시하고이를 완성을위한 올바른 답으로 받아들입니다. –

답변

1

, 그는 다른 게시물에 문제에 터치를했다. 문제는 "R"과 "Java"(윈도우 용) 모두에서 이스케이프 문자이므로 java에서 R로 명령을 전달할 때 보통 두 개가 아닌 여러 개의 백 슬래시가 필요합니다.