如何在RStudio动态开关的RON架构(How switch R architectures dy

2019-10-20 21:48发布

在RStudio有一个Tools菜单,让您在选择R的安装版本/架构Global Options

这是伟大的,但我有这个问题的是,顾名思义,它是一个全局选项,所以一旦你选择不同的体系结构(或版本号),那么你需要重新启动RStudio,它适用于所有的RStudio实例和项目。

这对我来说,因为一个问题:

  • 我有一个给定的项目中一些脚本,严格要求,由于他们正在与32位数据库,如Hortonworks' Hadoop的接口其实32位R
  • 我有同样的项目内的其它脚本,严格要求的64位R,由于(a)中某些包的可用性和(b)存储器范围是在32位的R于我的OS过于小

我们可以称之为“问题#1”,这也是一个问题,因为我有它需要特定的架构某些项目,但该项目中的所有脚本中使用相同的架构(这在理论上应是一个容易解决的问题,我们可以调用“问题#2”)。

如果我们能解决问题#1,那么问题2解决为好。 如果我们能解决问题2:我还是会更好,即使问题#1是未解。

基本上,我问如果任何人有一个黑客,变通,或更好的工作流程,以满足这种需要频繁交换体系结构和/或需要同时进行定期不同的项目,在不同的R / RStudio会议不同的架构。

我知道,这个功能可能会代表RStudio功能请求,如果这个问题不适合的StackOverflow因为这个原因,然后让我知道,我会删除它。 我只是想出了很多其他人可能有这个问题,所以也许有人已经找到了一种变通/破解?

Answer 1:

有没有简单的方法来做到这一点,但也有一些解决方法。 一,你可能会考虑通过推出R的正确位香味从R的当前位香味system2调用Rscript.exe ,例如(未测试的代码):

source32 <- function(file) {
  system2("C:\\Program Files\\R\\R-3.1.0\\bin\\i386\\Rscript.exe", normalizePath(file)) 
}
...
# Run a 64 bit script
source("my64.R")

# Run a 32 bit script
source32("my32.R")

当然,这并没有真正给你一个32位的交互式会话这么多的运行代码为32位的能力。

另外一个提示:如果你按住CTRL的同时推出RStudio,你可以选择将R风味和位元来启动时启动。 这会,如果你切换了大量节省您的时间。



文章来源: How switch R architectures dynamically in RStudio