我使用的是OS X系统上的ImageMagick
命令创建由四个.png
数字,我有我的硬盘上的一个2x2的面板:的R - 送两行命令系统
convert \(image1.png image2.png -append \) \
\(image3.png image4.png -append \) +append result.png
当粘贴我的终端,上述命令获取由系统调整,接收>
到第二行的开头:
convert \(image1.png image2.png -append \) \
> \(image3.png image4.png -append \) +append result.png
由此得出的数字看起来像这样:
我试图从R内部重现此最后一个命令使用以下命令:
> line1 <- paste0(" convert \\(", " img1.png img2.png -append \\)", " \\")
> line2 <- paste0(" < \\(", " img3.png img4.png -append \\) ", "+append result.png")
> cat(paste(line1, line2, sep='\n'))
convert \(img1.png img2.png -append \) \
< \(img3.png img4.png -append \) +append result.png
显然,从cat
结果是什么,我需要,但我不能找到正确的方法发送给系统。我试图把它与system
结合,但我得到一个错误:
system(cat(paste(line1, line2, sep='\n')))
Error in system(cat(paste(line1, line2, sep = "\n"))) :
non-empty character argument expected
的问题是:我怎样才能用R特定两行命令发送到系统?
*一个。 *除非是第二个命令,否则不需要将它作为单独的行运行,您可以在第二次调用中传递该命令。 * b。* shell行尾部的'\'字符串会被换行符(作为额外的空格被忽略),所以如果你真的想传递它,只需要添加一个换行符('\ n') ,例如'system('echo $((2+ \ n 3))')'。 * c。* [magick'包](https://ropensci.org/tutorials/magick_tutorial.html)使得这一切都不必要。 * d。*解决这个问题的最好方法是先用'mfrow'或类似的方法将它们绘制在网格上。 – alistaire
感谢您的建议@alistaire。有关'magick'软件包的任何特别提示?我安装了它,但我设法做的唯一事情是将数字连续组合......无法找到文档来帮助我创建一个“m x n”面板... – thiagoveloso