【问题标题】:gWidgets GUI cannot display when called with R CMD BATCH使用 R CMD BATCH 调用时,gWidgets GUI 无法显示
【发布时间】:2013-09-10 23:09:40
【问题描述】:

我开发了一个带有 GUI 的分析器(使用 gWidgets 包)。当我在 R 控制台或 R Studio 中运行我的代码时,一切似乎都很好,GUI 可以按预期弹出,通过选择选项可以顺利进行交互。

但是,我的经理对编码的东西一无所知,他想要的是 click-N-run。所以我尝试使用R CMD BATCH创建.bat文件。

R CMD BATCH G:\Temp\dav\AB_Analyzer\MAINcode.r 输出文件

当我运行 bat 文件时,没有弹出任何内容。

我可以知道我做错了什么吗?

感谢您的帮助。

【问题讨论】:

  • 我认为这与以下事实有关>。 (根据帮助文件!)
  • 你知道如何使用点击运行快捷方式吗?
  • 好的,R CMD BATCH 似乎不适用于交互式 GUI。我有另一种方法,感谢天才drunks-and-lampposts.com/2012/06/18/…

标签: r user-interface gwidgets


【解决方案1】:

如果您以批处理模式 (R CMD BATCH) 运行 R 脚本,则“交互标志”设置为 false,这可能会触发此行为(无用户交互 = 不显示任何 GUI)。

您可以使用R中的interactive()函数查询“交互标志”。

可能的解决方案:在命令行中添加--interactive 参数。

要测试他的行为,请创建一个包含以下内容的 R 脚本文件:

print(interactive())

如果你用

运行这个脚本
R CMD BATCH --no-save --no-restore  batch_test.R out.txt

你会在 out.txt 文件中找到结果FALSE,如果你运行它

R --vanilla --interactive  < batch_test.R

你会看到一个TRUE(所以使用最后一个命令行作为解决方案 - 注意:没有 CMD)。

【讨论】:

  • 谢谢你。尽管从这里和其他地方的各种答案中尝试了许多不同的方法,但最后一行是我可以让它为我工作的唯一方法。我不完全明白为什么,即使在阅读了帮助页面之后 - 但我很高兴它做到了!我必须使用的唯一变体是将--interactive 切换到--ess,因为我在Windows 上。如果你专门调用 R.exe 或 Rterm.exe,它会完美运行,但 not RScript.exe.
  • 感谢您指出 Windows 的命令行参数(似乎缺少 --interactive 参数,但 --ess 看起来不错(ess = 不要使用 getline 进行命令行编辑和断言交互使用”)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多