2011-09-21 76 views
1

我想使用JRI從Java中將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文件,如下面的代碼不工作:

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(); 

隨着結果是25!只是爲了獲取更多信息,我已經設置了環境變量PATH,R_INCLUDE_DR,R_SHARE_DR和R_DOC_DR。

由於提前,

阿蘭

+0

我調試過它,錯誤是: 錯誤:'\ D'是字符串中的一個無法識別的轉義開始「C:\ D」 –

+0

需要4個反斜槓! –

+1

作爲回答發佈並接受它作爲完整性的正確答案。 –

回答

1

卡爾所說,他做了在另一篇文章的問題觸摸。問題是「\」是R和Java(對於windows)中的轉義字符,所以當從java傳遞一個命令到R時,你需要多個反斜槓,而不是正常的兩個。