передача переменной в системной команде r - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь передать переменную в качестве аргумента системной команде в 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 ]

1 голос
/ 19 марта 2019

Вы можете использовать paste для построения команды ОС и передать system

system(paste("ls >", k))
0 голосов
/ 19 марта 2019

Проблема здесь в том, что R не распознает переменную k, если вы поместите ее в строку. Но на самом деле очень полезно поместить имя файла в переменную, если вы хотите использовать его снова и снова.

Можете ли вы попробовать

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

Если это работает, вы также можете написать небольшую функцию:

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

И тогда вы можете сделать

system("ls>"%&%k)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...