java - 在R代码中调用JAVA代码的参数动态传递csv文件和唯一ID

标签 java r

我有一个 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/

相关文章:

java - 一个套接字,多个http请求,不同的主机头但服务器返回缓存的主机头

r - 连接结果超过 2^31 行(内部 vecseq 达到物理限制)

excel - "Out of Memory Error (Java)"使用 R 和 XLConnect 包时

java - 在java中使用R编程

r - 将变量名转换为变量

R 编译错误的 RGL 包

java - Java中如何保留类型变量的原始类型?

java - 删除彼此相邻的重复项

java - Hibernate:提交方法在日志中提供输出但不输入数据库?

java - java -cp 命令中有多个 jar 文件时出现错误 "Error: Could not find or load main class"