2014-04-23 96 views
0

我正在使用R編程來分析FFT。現在我想製作Java web應用程序/ java servlet並調用R爲其使用Rcaller/Rcode。我有一些關於在Java應用程序中調用Rcode的參考。 http://code.google.com/p/rcaller/wiki/Examples 我有CSV文件 例如A.csv
時間幅度
1 0.00000 -0.021
2 0.00001 -0.024
3 0.00003 -0.013
4 0.00004 -0.023
5 0.00005 0.019
6 0.00007 - 0.002
7 0.00008 -0.013
然後我想上傳這個文件並使用R代碼分析FFT並繪製它。 非常感謝幫助!在此先感謝,Maria如何在Java Servlet中使用Rcaller並讀取CSV文件

回答

0

您開始創建RCaller的實例並設置安裝Rscript.exe文件的當前位置。你可以用

RCaller caller = new RCaller(); 
Globals.detect_current_rscript(); 
caller.setRscriptExecutable(Globals.Rscript_current); 
RCode code = new RCode(); 

啓動或者​​你可以給出確切位置

RCaller caller = new RCaller(); 
caller.setRscriptExecutable("c:\\path\\to\\Rscript.exe"); 
RCode code = new RCode(); 

假設您的數據保存在一個文件mydata.csv。

code.addRCode("dat <- read.cvs(\"mydata.csv\", header=T, sep=\",\""); 

那麼我們正在策劃的幅度

File file = code.startPlot(); 
code.addRCode("plot.ts(dat$Amplitude)"); 
code.endPlot(); 

和發送我們的代碼R:

caller.setRCode(code); 
caller.runOnly(); 

而現在,該文件變量保存的圖像數據。它可以在屏幕上使用的代碼

code.showPlot(file); 

對於進一步閱讀顯示,遵循stdioe blog

0

的博客條目當我執行這個代碼運行,但並沒有表現出什麼!!!!!!!

package test2;

import java.io.File;
import java.io.IOException;
import java.util.Random;
import javax.swing.ImageIcon;
import rcaller.RCaller;
import rcaller.RCode;
import rcaller.exception.RCallerExecutionException;
import rcaller.exception.RCallerParseException;

public class Test2 {
public static void main(String[] args) {
Test2 test2=new Test2();

} 
private int span; 
@SuppressWarnings("empty-statement") 


public void test2()throws IOException{ 
    try { 

    RCaller caller = new RCaller(); 
    caller.setRscriptExecutable("C:\\Program Files\\R\\R-3.0.3\\bin\\Rscript.exe"); 
    RCode code = new RCode(); 

    code.addRCode("dat<-read.csv(\"NetBeansProjects\"test2\"A.csv\",header=T,sep=\",\""); 

    File file=code.startPlot(); 
    code.addRCode("plot.ts(dat$Amplitude)"); 
    code.endPlot(); 

    caller.setRCode(code); 
    caller.runOnly(); 
    ImageIcon i=code.getPlot(file); 
    code.showPlot(file); 

} catch (RCallerExecutionException | RCallerParseException e) { 
    System.out.println(e.toString()); 
} 

} 

}