如果您正在运行Architect/StatET,如何通过编程来判断?
不同的IDE都有各自的特点,因此了解运行R所使用的IDE有时会很有用 您可以通过测试如果您正在运行Architect/StatET,如何通过编程来判断?,r,statet,R,Statet,不同的IDE都有各自的特点,因此了解运行R所使用的IDE有时会很有用 您可以通过测试RStudio环境变量来测试是否正在运行RStudio is_rstudio <- function() { env <- Sys.getenv("RSTUDIO") !is.null(env) && env == "1" } strsplit(Sys.getenv("PATH"), ";")[[1]][1] ## [1] "D:\\Program Files\\Archit
RStudio
环境变量来测试是否正在运行RStudio
is_rstudio <- function()
{
env <- Sys.getenv("RSTUDIO")
!is.null(env) && env == "1"
}
strsplit(Sys.getenv("PATH"), ";")[[1]][1]
## [1] "D:\\Program Files\\Architect\\plugins\\eu.openanalytics.architect.rtools.win32.win32_0.9.3.201307232256\\rtools\\bin"
是否可以进行类似的检查,以查看您是否正在运行Architect或StatET
我发现的最接近的情况是,默认情况下,架构师将Rtools嵌入副本的路径预先添加到path
环境变量中
is_rstudio <- function()
{
env <- Sys.getenv("RSTUDIO")
!is.null(env) && env == "1"
}
strsplit(Sys.getenv("PATH"), ";")[[1]][1]
## [1] "D:\\Program Files\\Architect\\plugins\\eu.openanalytics.architect.rtools.win32.win32_0.9.3.201307232256\\rtools\\bin"
我不清楚如何利用它进行可靠的跨平台测试。你能找到一个更好的测试吗?我还没有找到任何真正好的测试,但是架构师还有一些调整的迹象
is_architect <- function()
{
"package:rj" %in% search() &&
!is.null(device_name <- formals(getOption("device"))$name) &&
device_name == "rj.gd"
}
首先,它加载一个名为rj
的包。我们可以使用
"package:rj" %in% search()
其次,它覆盖默认的图形设备(看看getOption(“设备”)
)。这是一个匿名函数,因此我们不能按名称进行测试,但我认为name
参数的值应该将它与其他设备(如windows
或png
)区分开来
device_name <- formals(getOption("device"))$name
!is.null(device_name) && device_name == "rj.gd"
device\u name Update:这些检查函数现在在assertive
的devel版本中,您可以通过库(devtools)获取这些函数;安装bitbucket(“断言”、“richierocks”)
。检查RStudio的一种下注方式是。Platform$GUI