Rserve의 수식에이 문제가 있습니다. 내가 double
과 int
으로 시도했지만 그 중 하나가 작동하지 않았다. 그것은 내가 R에서부터 원했던 텍스트 블록입니다. CI를 설명하십시오. 그러나 그 결과는 자바 애플리케이션으로 되돌아 오지 않는 것처럼 보인다. 나는 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
도움 주셔서 감사합니다.