Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中使用Rserve并希望计算t.test。无法将结果返回到java_Java_R_Rserve - Fatal编程技术网

在java中使用Rserve并希望计算t.test。无法将结果返回到java

在java中使用Rserve并希望计算t.test。无法将结果返回到java,java,r,rserve,Java,R,Rserve,在Rserve的公式中遇到了这个问题。我试过使用double和int,但也没用。这是一段文字,我想从R.返回,描述CI。但结果似乎并没有回到java应用程序中。我试过R中的命令,它们在那里工作。我不知道为什么它不起作用。 我得到了这个密码: package rservedem; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; import org.

在Rserve的公式中遇到了这个问题。我试过使用
double
int
,但也没用。这是一段文字,我想从R.返回,描述CI。但结果似乎并没有回到java应用程序中。我试过R中的命令,它们在那里工作。我不知道为什么它不起作用。 我得到了这个密码:

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

}
谢谢你的帮助

connRserve.eval(toRserveForProcessing.asString()中的
try
connRserve.eval(toRserveForProcessing.toDebugString()取而代之

由于异常状态表明您正试图将向量用作字符串,因此如果要访问结果表达式,则必须适当地访问它的类型。在这种情况下,您应该能够调用
asList()
,然后使用访问器方法访问向量中的每个项。

connRserve.eval(toRserveForProcessing).asString()中
try
connRserve.eval(toRserveForProcessing.toDebugString()取而代之

由于异常状态表明您正试图将向量用作字符串,因此如果要访问结果表达式,则必须适当地访问它的类型。在这种情况下,您应该能够调用
asList()
,然后使用访问器方法访问向量中的每个项

attempt to access org.rosuda.REngine.REXPGenericVector as String