Я пытаюсь построить проект java, содержащий R-коды. Основная логика заключается в том, что я хочу автоматизировать структурирование данных и анализ данных в одном проекте. Частично я могу это сделать. Я подключил R к Java, и мои R-коды работают нормально. Я сделал все свое настроение на локальной машине и дал мне все, что мне нужно. Поскольку набор данных большой, я пытаюсь запустить его на сервере amazon. Но когда я переношу его на сервер, мой проект работает неправильно. Его невозможно выполнить library(XLConnect), library(rJava)
. Когда я когда-либо называю эти две библиотеки в моем проекте java, он рушится. Независимо по R-кодам работает и дает мне выход. Что я могу для этого и как исправить ошибку. Пожалуйста, помогите мне в этом.Интеграция Java и R
Моей ява кода является
import java.io.InputStreamReader;
import java.io.Reader;
public class TestRMain {
public static void main(String[] arg)throws Exception{
ProcessBuilder broker = new ProcessBuilder("R.exe","--file=E:\\New\\Modified_Best_Config.R");
Process runBroker = broker.start();
Reader reader = new InputStreamReader(runBroker.getInputStream());
int ch;
while((ch = reader.read())!= -1)
System.out.print((char)ch);
reader.close();
runBroker.waitFor();
System.out.println("Execution complete");
}
}
И в Modified_Best_Config.R
я написал эти коды
library('ClustOfVar');
library("doBy");
library(XLConnect)
#library(rJava)
#library(xlsx)
path="E:/New/";
############Importing and reading the excel files into R##############
Automated_R <- loadWorkbook("E:/New/Option_Mix_Calculation1.xlsx")
sheet1 <- readWorksheet(Automated_R, sheet = "Current Output")
sheet2 <- readWorksheet(Automated_R, sheet = "Actual Sales monthly")
sheet3 <- readWorksheet(Automated_R, sheet = "Differences")
#####################Importing raw Data###############################
optionData<- read.csv(paste(path,"ModifiedStructureNewBestConfig1.csv",sep=""),head=TRUE,sep=",");
nrow(optionData)
optionDemand=sapply(split(optionData,optionData$Trim),trimSplit);
optionDemand1=t(optionDemand[c(-1,-2),]);
optionDemand1
################Calculating the equipment Demand####################
optionDemand2<-t(optionDemand2[c(-1,0)]);
Rownames <- as.data.frame(row.names(optionDemand2))
writeWorksheet(Automated_R,Rownames, sheet = "Current Output", startRow = 21, startCol = 1)
writeWorksheet(Automated_R,optionDemand2, sheet = "Current Output", startRow = 21, startCol = 2)
saveWorkbook(Automated_R)
Но ява останавливает свою работу после того, как эти линий.
library("doBy");
Весь набор кодов хорошо работает на моей локальной машине. Но всякий раз, когда я пытаюсь запустить это на сервере amazon, он не работает. Отдельно в R этот код работает на сервере. У меня есть еще несколько R-кодов, которые работают без какой-либо ошибки. Что я могу сделать для этого, пожалуйста, помогите мне.
Похоже, что у вас могут не быть установлены эти пакеты на вашем экземпляре сервера, но можете ли вы попытаться опубликовать какой-либо код, который воспроизводит эту проблему, чтобы другие могли более эффективно обращаться к ней? –
Это может помочь: [Установка rJava и других пакетов на Ubuntu/EC2] (http://support.rstudio.org/help/discussions/problems/749-installing-rjava-and-other-packages-on-ubuntu-ec2) – Ben
Вы говорите: «Индивидуально в R этот код работает на сервере». Используете ли вы сервер RStudio или используете ли вы R прямо из терминала на том же сервере Amazon, где у вас эта проблема? –