我有一个脚本,我在其中调用R并根据我指定的目录,我希望它执行不同的过程。一个目录以L开头,另一个目录以S开头。我有许多以L或S开头的目录,它们都以不同的方式结束。
我在bash中指定目录并运行如下脚本:
./script L_dir
或
./script S_dir
因此,在我的R脚本中,我将其设置为:
args <- commandArgs(TRUE)
img_dir <- args[1]
if(img_dir == "^L*"){
do_process_1
} else {
do_process_2
}
一切正常,但无论我指定哪个目录,调用的进程将始终为do_process_2。
我看过this question并尝试调整它,但无法让它发挥作用。
答案 0 :(得分:0)
将我的代码更改为
if(grepl("^LM*", img_dir)){
do_process_1
} else {
do_process_2
}
它奏效了。如果将其更改为上述内容并且仍然执行process_2,请务必小心。这可能是因为你要找的东西,在我的情况下^ L *,也可能在你的第二个目录名中,即dir_L = LMNOP,dir_S = STUVLJH。但是,一旦我指定了^ LM *它就完成了我想要它做的事情。