我有以下代码要执行,但是我发现system(eval
正在后台运行。我想知道它做什么?我找到了一种资源,但是没有详细解释!
cmd.command.line.input <- "C:\Program Files\R\R-3.4.3\bin\R.exe" CMD BATCH C:\Users\myusername\Documents\R\Send_Outlook_Email.R"
system(eval(cmd.command.line.input),intern=F,show.output.on.console = T,invisible=F)
要执行但无法理解system(eval
是做什么的?
https://stat.ethz.ch/R-manual/R-devel/library/base/html/system.html
[请记住,您始终可以在R中使用help(cmd)
来告诉命令做什么。例如,help(eval)
包含:
在指定环境中评估R表达式。
以及更多信息。在您的情况下,您只是向其传递了一个字符串而没有其他任何参数,因此它将在您当前的作用域中评估该字符串(就像键入"mystring"
包括外壳中的引号一样)并返回它。因此,这里似乎是多余的,因为您可以直接使用cmd.command.line.input
并使用git摆脱eval
。
help(system)
的标题是
“系统”调用由“命令”指定的OS命令。
在您的情况下,操作系统是Windows,因此您要告诉Windows直接运行
C:\Program Files\R\R-3.4.3\bin\R.exe" CMD BATCH C:\Users\myusername\Documents\R\Send_Outlook_Email.R
Windows将像运行Windows CMD一样运行此命令,并直接键入该命令。