繁体   English   中英

Rscript:将路径文件定义为参数

[英]Rscript: Define path file as argument

我尝试这个命令:

Rscript "/Users/test/Scripts/arg_test.R" "path_in=/Users/test/GR/web-app/Rproject/Inputs/Rmerge/Description.csv" path_in2="/Users/test/IdeaProjects/Rproject/Inputs/Rmerge/Template_Auto.csv"

但我有这个错误:解析错误(text = args [[i]]):“ path_in = /”中意外的'/'

Rscript的一部分:

args=(commandArgs(TRUE))

if(length(args)==0){
    print("No arguments supplied.")
}else{
    for(i in 1:length(args)){
         eval(parse(text=args[[i]]))
    }
}


path_out = "/Users/test/Rproject/Results/"

annotation = read.csv(paste(path_in, sep=""))

modules = read.csv(paste(path_in2, sep=""))

merge_output = merge(annotation, modules, by = "Module")

如何将path_in定义为arguments(args)?

谢谢。

用适当的赋值运算符<-代替=并用单引号保护每个参数对我而言有效:

Rscript /tmp/RscriptArgs.R  \
  'path_in<-"/Users/test/GR/web-app/Rproject/Inputs/Rmerge/Description.csv"'  \
  'path_in2<-"/Users/test/IdeaProjects/Rproject/Inputs/Rmerge/Template_Auto.csv"'

/tmp/RscriptArgs.R是您从脚本中显示的内容。

你有path_in=双引号内,但path_in2=之外。 这可能是问题吗?

谢谢,我只是解决我的问题!

我应该使用“ path_in ='/ Users / test / ...'”而不是“ path_in = / Users / test / ...”。 用引号工作正常。

Rscript "/Users/test/Scripts/arg_test.R" "path_in='/Users/test/GR/web-app/Rproject/Inputs/Rmerge/Gene-level Description for Modules.csv'" "path_in2='/Users/test/IdeaProjects/Rproject/Inputs/Rmerge/Template_Auto.csv'"

修复Dirk的add效果也很好(谢谢)!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM