Вызов R в Java-Rcaller

Я пытаюсь реализовать кластеризацию, используя R в Java, используя R вызывающий. Я пытаюсь запустить пример кода для проверки кластеризации, и у меня возникает распространенная ошибка, с которой сталкивается большинство пользователей: преждевременное завершение файла

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

1 ответ

В вашем коде есть орфографические ошибки. лайк clValid не clvalid, и вы пропустите много цитат, как "иерархические",....

Я думаю, что лучше поместить ваш код в скрипт и вызывать его из Java следующим образом:

Runtime.getRuntime().exec("Rscript myScript.R"); 

где myScript.R:

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) 
Другие вопросы по тегам