R,传递变量的系统命令(R, passing variables to a system comma

2019-06-24 13:24发布

使用R,我希望创造一个QR码并将其嵌入到Excel电子表格(几百码和电子表格)。 最显而易见的方法似乎是创建一个使用命令行的QR码,并使用R.“系统”命令有谁知道如何通过“系统”命令通过R参数? 谷歌是不是为“系统”太有帮助的是一个有点普通,?系统不包含任何的例子。

注 - 我实际使用数据矩阵而非QR码,但用在R问题会导致混乱,术语“数据矩阵”,所以让我们来谈谈QR码来代替。 :-)

system("dmtxwrite my_r_variable -o image.png")

失败了,因为这样做我有试过变种“粘贴”。 任何建议感激地接受。

Answer 1:

比方说,我们有自己的变量x ,我们要传递给dmtxwrite ,你可以通过它,如:

x = 10
system(sprintf("dmtxwrite %s -o image.png", x))

或者可替换地使用paste

system(paste("dmtxwrite", x, "-o image.png"))

但我更喜欢sprintf在这种情况下。



Answer 2:

还利用的base::system2为可以是值得考虑的system2提供args可用于该目的的参数。 在您的例子:

my_r_variable <- "a"
system2(
    'echo',
    args = c(my_r_variable, '-o image.png')
)

将返回:

 a -o image.png

这等同于运行echo在终端中。 您可能还需要将输出重定向到文本文件:

system2(
    'echo',
    args = c(my_r_variable, '-o image.png'),
    stdout = 'stdout.txt',
    stderr = 'stderr.txt'
)


文章来源: R, passing variables to a system command