`system()`interactive.exe/binary from R/Rgui
我想在R中使用`system()`interactive.exe/binary from R/Rgui,r,R,我想在R中使用system()运行一个交互式二进制文件 通过交互式,假设我想从R中运行python命令行解释器(谁知道为什么,但无论如何…) 当我从命令行(即Rterm)运行R时,我可以像这样启动python解释器: > system('python.exe') Python 2.7.2 on win32 Type "help", "copyright", "credits" or "license" for more information. >>> # I can n
system()
运行一个交互式二进制文件
通过交互式,假设我想从R中运行python命令行解释器(谁知道为什么,但无论如何…)
当我从命令行(即Rterm)运行R时,我可以像这样启动python解释器:
> system('python.exe')
Python 2.7.2 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # I can now type in python commands and basically use the python
# interpreter until I've had enough.
# Now I'll exit the python interpreter:
>>> exit()
> # Presto, I'm back to the R prompt!
关键是,我可以从R与python解释器交互,就像我首先从命令行启动解释器一样,当我返回R提示符时,我可以退出它
现在,让我们对R GUI进行同样的尝试:
> system('python.exe')
Python 2.7.2 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
> # eh? it exitted?
这只是运行python.exe(显示欢迎消息),但随后立即退出-我无法与python解释器交互
我的问题是——是否有任何方法(在R GUI中,即windows one中)运行该解释器并与之交互,就像在R的任何命令行版本中一样
(仅供参考-当我第一次开始学习如何编写R软件包时,作为我的第一个R软件包,我的目标就是能够在R中玩。工作得很好(我使用linux&因此使用命令行R),除非我将其带到windows RGui,否则它将启动进程,但不具有交互性,有效地锁定了R,直到我强制结束NetHack.exe进程。)我解决了这个问题-必须阅读windows下的帮助文件(原来unix和windows
?系统不同):
不要尝试运行需要用户从Rgui
设置intern=TRUE
或show.output.on.console=TRUE
输入的控制台应用程序。它们不会起作用
因此,看起来我(无论如何从Rgui)得到的最好结果是一个新窗口正在启动:
system('NetHack.exe',invisible=FALSE,wait=FALSE)
我将添加一个if(.Platform$GUI==“Rgui”)
检查并适当设置参数
(Huzzah,继续NetHackR的任务!)我可以通过执行system('python.exe',invisible=FALSE,wait=FALSE)
来运行它,但这确实会在一个新的命令提示符窗口中启动整个过程,而我更希望它在R终端上运行。我非常确定,使用Rgui是不可能实现您想要的。