检查R是否在RStudio中运行

时间:2012-09-12 13:20:32

标签: r rstudio

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

9 个答案:

答案 0 :(得分:37)

这来自?rstudio

# Test whether running under RStudio 
isRStudio <- Sys.getenv("RSTUDIO") == "1"

还有rstudioapi::isAvailable(),但检查这一点并不可靠,因为RStudio似乎并不需要rstudioapi包正常工作。

答案 1 :(得分:9)

检查.Platform$GUI

"RStudio"选项
is.rstudio = function(){
  .Platform$GUI == "RStudio"
}

请参阅:

http://thecoatlessprofessor.com/programming/detecting-if-r-is-in-rstudio-and-changing-rstudios-default-graphing-device/

答案 2 :(得分:7)

没有“在RStudio内部运行”。 RStudio只是一个环绕R的IDE层;在一天结束时,它只是启动您需要在$ PATH上运行RStudio的正常R可执行文件。

作为代理,作为R Studio您可以测试'manipulate'包的available.packages(),或者作为更短的版本,看看RStudio是否将自己添加到.libPath()内容:

R> any(grepl("RStudio", .libPaths()))
[1] TRUE
R> 
R> 

答案 3 :(得分:6)

当我启动RStudio时,它似乎有工具:搜索路径上位置2的rstudio。这有一个函数“RStudio.version”,它没有文档但似乎返回RStudio版本字符串:

> RStudio.version()
[1] "0.96.316"

所以你可以定义:

is.RStudio <- function(){
  if(!exists("RStudio.version"))return(FALSE)
  if(!is.function(RStudio.version))return(FALSE)
  return(TRUE)
}

也许可以使用它。

答案 4 :(得分:3)

为了增加猜测的数量,这里有一条来自2011年(冰河世纪)的消息

http://support.rstudio.org/help/discussions/problems/413-location-of-installed-packages

if (Sys.getenv("RSTUDIO_USER_IDENTITY")!= ""){
.libPaths(.Library) # Avoid additional libraries } else { # not rstudio ...

答案 5 :(得分:2)

我找到了以下适用于我的作品

checkRstudio <- function () {
  return ("tools:rstudio" %in% search())
}

我对R本人有点新意,但我相信Rstudio必然会加载 包&#34;工具:rstudio&#34;为了跑步。

答案 6 :(得分:2)

截至今天,有一些软件包包含检查RStudio是否正在运行的函数:

rstudioapi::isAvailable()
assertive::is_rstudio()

(列表不详尽)

assertiveassertive.reflections软件包确实包含其他功能,以检查其他IDE,桌面/服务器版本的RStudio以及各种R版本(例如,alpha, beta,devel,release,patched等。)

答案 7 :(得分:0)

在Mac上只有Sys.getenv的答案有效

平台x86_64-apple-darwin10.8.0
version.string R版本3.1.0(2014-04-10)

  

Sys.getenv( “RSTUDIO”)== “1”   [1] TRUE

     

RStudio.version()   错误:找不到函数“RStudio.version”

     

any(grepl(“RStudio”,。libPaths()))   [1]错误

     

.libPaths()   [1]“/ Library/Frameworks/R.framework/Versions/3.1/Resources/library”

答案 8 :(得分:0)

现在可以通过is_rstudio_console函数通过startup:::is_rstudio_console() [1] TRUE 包提供整洁的解决方案:

<!DOCTYPE html>
<html lang="eng">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="{{url_for('static', filename = 'css/bootstrap.min.css')}}" rel="stylesheet">
<link rel="shortcut icon" href="{{url_for('static', filename = 'myicon.ico' )}}">
<script type=text/javascript src="{{url_for('static', filename='js/jquery.min.js') }}"></script>
<script type="text/javascript" src="{{url_for('static', filename = 'js/bootstrap.min.js')}}"></script>