在r系统命令中传递变量

时间:2019-03-19 19:24:45

标签: r shell system

我正在尝试将变量作为参数传递给R中的系统命令。

> system("ls>abc.csv")  #this works
> k<-"abc.csv"          
> system("ls>k")        #this does not work
> system2("ls>k")       #this does not work
sh: ls>k: command not found
> system("ls>$k")      #this does not work
sh: $k: ambiguous redirect

2 个答案:

答案 0 :(得分:1)

您可以使用sodium_crypto_box_keypair_from_secretkey_and_publickey()来构建操作系统命令并传递给paste

system

答案 1 :(得分:0)

这里的问题是,如果将变量k放入字符串中,R不能识别它。 但是,如果您想一次又一次地使用它,将文件名放在一个变量中确实非常有用。

你能尝试

system(paste0("ls>", k))

如果可行,您还可以编写一个小函数:

"%&%" <- function(a, b)paste0(a, b)

然后您可以做

system("ls>"%&%k)