我正在使用 R 工作室。
有没有办法知道 R 脚本是通过控制台中的源命令直接运行还是在另一个脚本中运行。IE。另一个脚本是源代码,它调用了第一个脚本。
在某些情况下,这对于提示某些值很有用。
我现在正在做的是将变量设置为 true 或 false,并在脚本中检查该变量。这可行,但自动方式更好。
谢谢你的时间。
编辑:更多信息
假设我有一个运行良好的独立脚本,但该脚本是在另一个脚本完成后运行的进程的一部分。如果我必须同时运行,我可以运行第一个,然后运行第二个;但我也有机会参加第二场比赛。
我要问的是是否有办法(在第二个脚本中)验证第二个是否是从第一个调用的。
看看他的简单例子(灵感来自Greg Snow的回答)。首先是我在 Rstudio 中调用的文件
# scripta.R
writeLines("script A")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
source("scriptb.r")
writelines("after B")
然后是源文件
# scriptb.R
writeLines("script B")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
writeLines("end B")
Rstudio 中的结果是
script A
interactive: true
script B
interactive: true
end B
after B
我喜欢有类似的东西
script A
interactive: true
script B
interactive: false
end B
after B
我希望现在更清楚。
谢谢