1
在Rserve中有一個公式得到了這個問題。我嘗試了double
和int
,但那也沒用。這是我從R回來的一段文字。描述CI。但結果似乎沒有回到Java應用程序。我已經嘗試了R中的命令並在那裏工作。不知道爲什麼它不起作用。 我得到這個代碼:在java中使用Rserve並且想要計算t.test。無法獲得結果回到java
package rservedem;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import org.rosuda.REngine.*;
import org.rosuda.REngine.Rserve.*;
/**
*
* @author Carl
*/
public class RserveDem {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
RConnection connRserve;
Scanner inputStream = null;
try {
inputStream = new Scanner(new FileInputStream("C:/vikt-fore_data2Update.csv")); //läser in data från fil
}
catch (FileNotFoundException e) {
System.out.println("Filen hittades inte! Stänger av...");
System.exit(0);
}
inputStream.useDelimiter(",");
int vikt;
double [] memberArray = new double[157];
for (vikt = 0; vikt < memberArray.length; vikt++) {
memberArray [vikt] = Double.valueOf(inputStream.next());
}
try {
connRserve = new RConnection();
connRserve.assign("memberArr", memberArray);
String toRserveForProcessing = "t.test(memberArr);";
System.out.println("Den skapade strängen som skickas till Rserve " + toRserveForProcessing);
String summan = connRserve.eval(toRserveForProcessing).asString();
System.out.println ("Svaret från rserve " + summan);
}
catch(RserveException ex)
{
System.out.println(ex.getMessage());
}
catch (REXPMismatchException ex)
{
System.out.println(ex.getMessage());
}
catch (Exception e)
{
System.out.println("Seomthing went wrong, but it's not Rserve: " +e.getMessage());
e.printStackTrace();
}
}
}
我試圖搜索的錯誤消息,但無法瞭解這意味着什麼。如果想知道如何執行該命令並將結果返回到java應用程序的輸出窗口中,那麼真的很有幫助。 我得到這個錯誤:
attempt to access org.rosuda.REngine.REXPGenericVector as String
感謝您的幫助!