- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试从 Java 文件执行 R 脚本。
Java代码
public static void main(String a[]) {
RConnection connection = null;
try {
/* Create a connection to Rserve instance running on default port
* 6311
*/
connection = new RConnection();
/* Note four slashes (\\\\) in the path */
connection.eval("source(\'D:/r script/arima with upper limit final.R\')");
//connection.eval("Rserve()");
int lim1=2500;
int lim2=2700;
REXP sum=connection.eval("testfunction()");
//System.out.println("The sum is=" +);
} catch (RserveException e) {
e.printStackTrace();
} //catch (REXPMismatchException e) {
//e.printStackTrace();
//}
}
R 脚本
testfunction = function(){
lim1 = 2500
lim2 = lim1+400
start =lim2
modeldata = as.vector(x$Mean.F3Amp)
alarm = as.vector(x$Mean.F3HW)
alarmpart = as.ts(alarm[lim1:lim2])
predictalarm = alarmpart
datapart = as.ts(modeldata[lim1:lim2])
fit = Arima(datapart,order = c(3,1,1))
modelforecast = forecast(fit,30)
uppervaluemean = mean(modelforecast$upper[,2])
prevMean = mean(tail(datapart,30))
newMean =mean(modelforecast$mean)
alarmMean = mean(tail(alarmpart,30))
if(abs(alarmMean-uppervaluemean)>=0.01)
{
uppervaluemean =uppervaluemean+0.005
predictalarm = c(predictalarm,rep.int(uppervaluemean,30))
} else
{
predictalarm = c(predictalarm,rep.int(alarmMean,30))
print("Else")
}
plot(modelforecast,xlim=c(0,lim2-lim1+30),ylim=c(0,0.6))
lines(alarmpart,col=3)
lines(predictalarm,col=5)
filename = paste("D:/Plots123/plot",toString(iteration),".jpg",sep="")
dev.copy(jpeg,filename=filename)
dev.off()
TRUE
}
我是 RServe 新手。以下是我得到的错误。
org.rosuda.REngine.Rserve.RserveException: eval failed, request status: error code: 127 at org.rosuda.REngine.Rserve.RConnection.eval(RConnection.java:234) at pkg.Temp.main(Temp.java:23)
第 23 行:REXP sum=connection.eval("testfunction()");
最佳答案
问题是不建议像这样调用用户定义的函数,因为它们很难调试。现在很难说 R 脚本评估在哪里失败。
但是很容易看出脚本可能无法正确评估,因为存在外部变量,例如 x
,这些变量可能不存在于 Rserve 工作环境中。此外,诸如 forecast、fpp
之类的库可能尚未导入,但正在函数内部使用。您可能需要在脚本中进行一些代码更改,其中可能包括以下行:
library(forecast)
library(fpp)
x<-5 #or whatever x is
然后在上述所有内容下面定义您的函数。
尝试使用这个可能有助于指出错误:
REXP sum = connection.parseAndEval("try("+testfunction()+",silent=TRUE)");
if (sum.inherits("try-error")) System.err.println("Error: "+sum.asString());
关于java - 从 Java 执行 Rscript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38972928/
我希望能够为充满国家的手绘制我自己的值(value)观。例如:中国、美国、英国、加拿大和俄罗斯 . 我有自己的 txt 文件,它有 3 列 - ISO3V10、国家和文档编号。 ISO3V10 Cou
我需要使用 Rscript 通过 bash shell 运行多个脚本我使用的一些函数需要函数 isGeneric .但是,在这种情况下,过程会像这样结束(例如): Error in .getLogLi
我需要使用 Rscript 在命令行上运行 knit2html。我尝试了以下代码,它有效 Rscript -e "(knitr::knit2html(text = '## good', fragmen
我正在尝试安排 R 脚本在容器内运行。我有一个这样的 docker 文件: # Install R version 3.5 FROM rocker/tidyverse:3.5.1 USER root
如何调试 Rscripts是从命令行运行的? 我目前正在使用 getopt传递命令行选项的包,当有错误时,我很难: 看看到底出了什么问题; 在 R 中交互式调试(因为脚本需要命令行选项。) 有没有人有
我有一个简单的 R脚本。当它通过 Rscript.exe 运行时,默认情况下它会打印为 PDF 文件。我希望脚本打开一个绘图窗口。 我使用命令: Rscript.exe tmp_plot.R r 文件
我的桌面上有一个 rscript (file.r),其中包含一个函数。 我需要从 Windows 命令提示符调用这个函数并向它传递参数,我找到了这种方式,但我不明白它是如何使用的,比如它是什么意思?
如果这个问题已经得到解答,但我无法找到我需要的东西,我提前道歉。我想从名为 data1.dat、data2.dat 的文件中绘制一些结果......我设法通过循环导入数据,但我无法使用循环绘制结果。仅
我正在尝试在 Windows shell 中运行以下 R 脚本: Rscript C:/Documents/Folder name containing space/myscript.txt 在这种情
您好,我正在使用 oozie 运行 sparkR 作业。当我运行 oozie 作业时,它显示找不到 Rscript 错误。错误详细信息如下 Caused by: org.apache.spark.Sp
我正在尝试在 Nextflow 管道中运行 Rscript。这个 Rscript 有一个包“ggolot2”。 我有这个错误: Error in library(ggplot2): there is
当我尝试在 RStudio 上执行以下代码时 library(lubridate) library(data.table) a <- data.frame(c("2017-12-01 00:01:00
Rscript 的二进制文件可用,但是当我尝试使用它时,我得到: Rscript helloworld.r Rscript execution error: No such file or direc
我写了一个小的 R 脚本来读取 JSON,它工作正常,但在使用管道时 Rscript myscript.R | head (完整的,预期的)输出返回错误 Error: ignoring SIGPIPE
如何使用 RScript myfile.R 执行命令以便它使用它所在的项目/目录的 renv 环境,而不是我的默认环境? 最佳答案 有几种方法: 确保您的工作目录设置为 renv 的根目录项目,并且
我有以下脚本: city <- c("Екатеринбург", NA, "Курск", "Псков", "березники", "Челябинск", NA, "мос
我正在尝试从 Rscript 启动一个 Shiny 的应用程序或交互式 .Rmd 文档。然而,我得到的只是一条消息 Listening on http://127.0.0.1:... 我相信这是因为
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: R suppress startupMessages from dependency 我读过有关使用 sink("N
这可能是一个非常基本的问题,但尚未找到令人信服的答案。在 R 环境中执行 R 脚本时,我可以做 source(foo.R)或 system("Rscript foo.R") .这两种方法之间是否有任何
我想使用Rscript在批处理模式下运行R文件,但是它似乎并未加载我需要的库。我得到的具体错误是: Error in library(timeSeries) : there is no package
我是一名优秀的程序员,十分优秀!