我在单个R文件中有代码,我希望能够在开发期间在RStudio中获取源代码(即,定义我的函数等),并且还可以通过命令行使用#! /usr/bin/env Rscript
语法运行(实际上,使用Hadoop)。对于后者,我需要Rscript
做的最后一件事就是开始分析(即,使用对main()
函数的调用)。对于前者,我不希望调用main()
函数。我希望能够测试代码是否在Rscript中运行(或者在RStudio中运行),以便我可以执行main()
或不执行{{1}}。这可能吗?
一种解决方案是将我的代码分解为多个文件,但如果可能的话,我宁愿避免这种情况(使Hadoop的内容稍微容易一些)。
提前致谢。
答案 0 :(得分:10)
您可以使用interactive
来测试R是否以交互模式运行。 interactive
将在Rscript和FALSE
下的(大多数?)GUI下返回TRUE
。