我有一个 R 脚本,我想在其中从 Java 代码调用参数。参数为csv file name
文件名和 unique ID
必须使用它来命名两个输出文件。
我的 R 脚本是:
df1 <- read.csv("filename.csv")
vs=colnames(df1)
md=formula(paste(vs[3],"~",vs[1],"+",vs[2]))
fit <- summary(aov(md, data=df1))[[1]]
#text output
names(fit)[1:4]=c("DF","SS","MS","F")
sink("test.txt")
在此代码中,第一行 df1 <- read.csv("filename.csv")
应该从 JAVA code
动态获取文件名最后一行 sink("test.txt")
应该采取 unique ID
并创建输出文件。
java代码是:
buildCommand.add("Rscript ");
buildCommand.add(scriptName);
buildCommand.add(inputFileWithPathExtension);
buildCommand.add(uniqueIdForR);
我看过其他post但我不确定这对我的情况是否有帮助,还有类似的帖子谈论 rJava
package`,但没有得到明确的想法。
任何帮助将不胜感激。预先感谢!
最佳答案
这是一个非常简单的示例,用于在您的情况下读取命令行参数:
args <- commandArgs(TRUE)
input <- args[1]
output <- paste0(args[2], ".txt")
cat("Reading from", input, "\n")
cat("Writing to", output, "\n")
示例:
$ Rscript foo.R foo.csv 1234567
Reading from foo.csv
Writing to 1234567.txt
关于java - 在R代码中调用JAVA代码的参数动态传递csv文件和唯一ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51703180/