0

私はこのコマンドを試します:

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"

しかし、私はこのエラーがあります: parse(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 を引数(args)として定義するにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

1

=を適切な代入演算子に置き換え、<-各引数を一重引用符で保護するとうまくいきます。

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スクリプトから示したものはどこにありますか。

于 2010-01-04T19:08:55.227 に答える
0

path_in=二重引用符の内側にありますが、外側path_in2=にあります。これが問題でしょうか?

于 2010-01-04T19:06:23.920 に答える