Как я могу использовать библиотеки R, такие как "dplyr" через Java RCaller - PullRequest
0 голосов
/ 30 января 2019

Я сделал графический интерфейс для Netbeans v.8.2, в котором используются некоторые Rscripts.Я использовал пакет Rcaller и Rjava.Мое соединение Java-R работает, когда я хочу сделать базовое исчисление.Но я не знаю, как я могу использовать библиотеки R, такие как dplyr, через Java.

У меня есть класс Rclient, с которым я связываюсь со своими Rscripts, находящимися внутри папки проекта.

Вот код Java, который правильно работает в Rscript с простыми вычислениями в классе "Rclient":

    public static String subsetData(String fileName){
    fileName=fileName.replace("\\","/");
    Globals.detect_current_rscript();
    final RCallerScriptEngine engine = new RCallerScriptEngine();        
    engine.put("fileName", fileName);
    String outFileName=fileName + "_subset";
    engine.put("outFileName",outFileName );
    runScript(engine, "2_subset_data_.R");
    engine.close();
    return outFileName;

}    

Вот сценарий R (2_subset_data_.R), для которого нет вызова библиотеки Ris:

    data <- read.csv(fileName);
    mydata <- subset(data, 
               select = c(
                 "X.U.FEFF",
                 "kazaSiraNo",
                 "surucuVatandaslikNo"
               )); 

    write.csv(mydata, file = outFileName);

Вот код Java, который выполняется НЕ ПРАВИЛЬНО в Rscript с вычислениями пакета dplyr в классе «Rclient»:

    public static String cleanData(String fileName){
    fileName=fileName.replace("\\","/");
    Globals.detect_current_rscript();
    final RCallerScriptEngine engine = new RCallerScriptEngine();        
    engine.put("fileName", fileName);
    String outFileName=fileName + "_clean";
    engine.put("outFileName",outFileName );
    runScript(engine, "clean_data.R");
    engine.close();
    return outFileName;

}    

Вот скрипт R (clean_data.R)КТО ТАКОЕ НЕКОТОРЫЕ БИБЛИОТЕКИ, вызывающий код:

    library(Runiversal);
    library(dplyr);

    data <- read.csv(fileName);

    mydata <- dplyr::filter(data, 
                             nchar(data[,"surucuVatandaslikNo"]) == 11);
    write.csv(mydata, file = outFileName);          

Может кто-нибудь помочь мне использовать эти библиотеки?Как проверить, действительно ли загружены библиотеки?

...