首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java-Rcaller中调用R

在java-Rcaller中调用R
EN

Stack Overflow用户
提问于 2013-01-24 21:12:45
回答 1查看 3.6K关注 0票数 2

我正在尝试通过使用R caller在java中使用R实现集群。我正在尝试运行用于集群验证的示例代码,我得到了大多数用户都会遇到的常见错误:文件过早结束

代码语言:javascript
复制
package test;
import rcaller.RCaller;
import java.io.File;
import java.lang.*;
import java.util.*;
import java.awt.image.DataBuffer;

public class test3 {
    public static void main(String[] args) {
        new test3();
    }

    public test3()
    {

        try{

            RCaller caller = new RCaller();
            caller.cleanRCode();

            caller.setRscriptExecutable("C:/Program Files/R/R-2.15.1/bin/x64/Rscript");
            caller.cleanRCode();

            caller.addRCode("library(clvalid)");
            caller.addRCode("data(mouse)");
            caller.addRCode("express <- mouse [,c(M1,M2,M3,NC1,NC2,NC3)]");
            caller.addRCode("rownames (express) <- mouse$ID ");
            caller.addRCode("intern <- clValid(express, 2:6 , clMethods = c( hierarchical,kmeans,diana,clara,model) ,validation = internal)");
            caller.addRCode("b <- summary(intern) ");
            caller.runAndReturnResult("b");
        }

        catch (Exception e){
            e.printStackTrace();
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-24 21:32:53

您的代码中有一些拼写错误。比如clValid不是有效的,而且你错过了很多像"hierarchical“这样的引号,....

我认为最好把你的代码放在一个脚本中,然后像这样从java中调用它:

代码语言:javascript
复制
Runtime.getRuntime().exec("Rscript myScript.R"); 

其中myScript.R是:

代码语言:javascript
复制
library(clValid)
data(mouse)
express <- mouse [,c('M1','M2','M3','NC1','NC2','NC3')]
rownames (express) <- mouse$ID 
intern <- clValid(express, 2:6 , clMethods = c( 'hierarchical','kmeans',
                                               'diana','clara','model') ,
                                                validation = 'internal')
b <- summary(intern) 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14502187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档