我正在寻找一种方法来测试 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/