r - 检查 R 是否在 RStudio 中运行

标签 r rstudio

我正在寻找一种方法来测试 R 是否正在从 RStudio 运行。出于某种原因,我昨天可以在 google 上找到答案,但今天不行,但我认为这与测试是否设置了某个系统变量有关。

最佳答案

没有“在 RStudio 内运行”。 RStudio 只是一个围绕 R 的 IDE 层;在一天结束时,它只是启动正常的 R 可执行文件,您无论如何都需要在 $PATH 上运行 RStudio。
作为代理和 R Studio 您可以测试 available.packages() 的“manipulate”包,或者作为较短的版本,看看 RStudio 是否将自己添加到 .libPath()内容:

R> any(grepl("RStudio", .libPaths()))
[1] TRUE
R> 
R> 
2020 年 5 月或八年后编辑 问题确实出现了,可以从内部查询各种内容。这是来自 RStudio 终端的示例:
$ env | grep -i rstudio | sort
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/rstudio.desktop
PATH=[...redacted...]
RMARKDOWN_MATHJAX_PATH=/usr/lib/rstudio/resources/mathjax-27
RS_RPOSTBACK_PATH=/usr/lib/rstudio/bin/rpostback
RSTUDIO=1
RSTUDIO_CONSOLE_COLOR=256
RSTUDIO_CONSOLE_WIDTH=111
RSTUDIO_PANDOC=/usr/lib/rstudio/bin/pandoc
RSTUDIO_PROGRAM_MODE=desktop
RSTUDIO_PROJ_NAME=chshli
RSTUDIO_SESSION_ID=9C62D3D4
RSTUDIO_SESSION_PORT=13494
RSTUDIO_TERM=2BD6BB88
RSTUDIO_USER_IDENTITY=edd
RSTUDIO_WINUTILS=bin/winutils
$ 
同样,从 R session 中:
R> se <- Sys.getenv()
R> se[grepl("rstudio",se,ignore.case=TRUE)]
GIO_LAUNCHED_DESKTOP_FILE        /usr/share/applications/rstudio.desktop
PATH                             [...also redacted...]
RMARKDOWN_MATHJAX_PATH           /usr/lib/rstudio/resources/mathjax-27
RS_RPOSTBACK_PATH                /usr/lib/rstudio/bin/rpostback
RSTUDIO_PANDOC                   /usr/lib/rstudio/bin/pandoc
R> 
2021 年 8 月或九年后编辑 由于不同答案中列出的所有答案可能对人们来说仍然太多,您也可以安装包 rstudioapi来自 CRAN 然后通过 rstudioapi::isAvailable() 询问回来了 TRUE为我在 RStudio 和 FALSE 中在 ESS/标准 R 中。

关于r - 检查 R 是否在 RStudio 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389158/

相关文章:

c++ - 从 C 代码中调用 R 脚本

r - R 中数字的交叉表图

ubuntu - Pandoc 和 Rstudio Knitr 内存泄漏

r - 如何使展示模式在 rmarkdown/knitr 交互式 Shiny 文档中工作?

shiny - 如何将 Shiny fileInput 限制为仅文本文件?

r - 如何确定字符串中每个位置的码字频率

r - 汇总忽略重复的数据框

R 循环 : How can I determine the iteration that caused warnings?

r - 为什么在 foreach 中使用 %dopar% 会导致 R 无法识别包?

r - 在 R 中使用 frbs.learn() 训练 ANFIS 模型时出错