我有一个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
包`,但不清楚。
任何帮助将不胜感激。预先感谢!
答案 0 :(得分:1)
下面是一个非常简单的示例,用于读取您所用的命令行参数:
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