【问题标题】:How do I test if R is running as Rscript?如何测试 R 是否作为 Rscript 运行?
【发布时间】:2012-04-04 06:52:14
【问题描述】:

我在一个 R 文件中有代码,我希望能够在开发期间在 RStudio 中获取(即定义我的函数等),并且还可以通过命令行使用 #! /usr/bin/env Rscript 语法运行(实际上,使用 Hadoop)。对于后者,我需要Rscript 做的最后一件事是开始分析(即,使用对main() 函数的调用)。对于前者,我不想调用我的 main() 函数。我希望能够测试代码是否在 Rscript 中运行(或者,在 RStudio 中),以便我可以执行 main() 或不执行。请问这样可以吗?

一种解决方案是将我的代码分成多个文件,但如果可能的话,我宁愿避免这种情况(使 Hadoop 的东西更容易一些)。

提前致谢。

【问题讨论】:

  • 感谢您提及 RStudio - 直到现在我才知道这个软件程序,但我很高兴我“找到”了它。
  • 别担心,Jura25。它远不如 Matlab 或 Mathematica 前端成熟,但对 R 来说做得很好。

标签: r hadoop rscript


【解决方案1】:

您可以使用interactive 来测试 R 是否在交互模式下运行。 interactive 将在 Rscript 下返回 FALSE,在(大多数?)GUI 下返回 TRUE

【讨论】:

  • 谢谢约书亚。我不敢相信我没有找到这个……
  • 9 年多后,我仍然觉得这很有用。 BTW interactive() 即使在 Rstudio 中的源文件中使用时也会返回 TRUE。这是预期的吗?
  • @LazarusThurston:是的,这是意料之中的。 RStudio 是一个交互式控制台,所以它是 TRUE,即使你 source() 是一个文件。
猜你喜欢
  • 1970-01-01
  • 2018-04-22
  • 2019-01-08
  • 2020-12-17
  • 1970-01-01
  • 2010-12-26
  • 2015-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多