我有一个可执行文件(编译为FORTRAN),它使用终端为用户请求输入,输出转到不同的文件(例如,out1.txt,out2.txt)。我创建了一个R函数,为可执行文件生成响应文件。然后我可以使用我的响应文件来获取所有输出。例如,如果我从命令行pm.exe < pm.resp
运行,我将获得所有输出(例如,1.txt,2.txt等)。现在我想将整个程序纳入R。
如果我从R控制台system2("pm.exe", wait = FALSE, invisible = FALSE, stdin = "pm.resp")
运行,我的输出没有问题。但是如果在R函数中使用该行,那么我不会得到任何输出。
答案 0 :(得分:0)
好的,这可能对任何人都没有帮助,但在经历了很多痛苦后才意识到问题是什么。具有system2()
的函数是我正在构建的包的一部分。此外,我正在运行一个脚本,该脚本正在加载没有text.split(/[^A-Za-z]/);
命令的函数的先前版本。因为这个功能在我的全球环境中;它优先于包中创建的那个。
如果对此有任何士气......如果你的功能没有达到预期的效果。检查您是否正在调用正确的功能。