R中的某些函数的行为略有不同,具体取决于脚本是在解释器中运行还是从命令行调用。例如,如果我从解释器中打印某些类型的绘图对象,它们只会显示在我的屏幕上,而不会创建新文件。但是,如果我使用Rscript ...
从命令行运行相同的脚本,R将自动保存图表的.pdf,名称为Rplots.pdf
,无论我当前的工作目录是什么。我发现这种不需要的文件创建是不受欢迎的。
理想情况下,我想要一种将print()
命令封装在某种逻辑测试中的方法,该测试将检查脚本是否从解释器运行。或者,如果有一些不同的方式来使用print()
函数或其替代方法,那么可以避免创建不需要的文件,这也是一个令人满意的结果。
请参阅下面的最小工作脚本:
# Rscript "Interpreter_Question.R"
library(ggplot2)
df <- data.frame(x=1:10, y=rnorm(10))
p1 <- ggplot(df, aes(x,y)) + geom_point()
print(p1)