内Rstudio重新启动[R(Restart R within Rstudio)

2019-07-28 15:30发布

我试图使用系统2 R里面调用一个简单的Python脚本()。 我看了一些资料,我发现含糊,说如果使用太多的'内存,它不会工作。

如果我打开一个大的数据集,并使用一些信息,它使用作为参数传递到系统2(),如果我手动单击“重新启动R”呼叫Rstudio它只会工作。

我想要的是:

df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
for(arg in args_vec){
    system2('python', args)
}

这将无法正常工作的。 for循环简单地过去了。

我需要的:

df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
###something that 'restarts' R
for(arg in args_vec){
    system2('python', args)
}

这个答案并不完全得到我想要的东西。 也就是说,它不适合我内Rstudio工作,它调用“系统”(其中介绍了同样的问题在这种情况下,“系统2”)。 事实上,当我把我的Rprofile.site文件上面提到的答案,它只是立即拍板rstudio:

我想建议作为普通函数(而不是使用“makeActiveBinding”,它也不太工作。

##restart R in r session  -- doesn't work
makeActiveBinding("refresh", function() { system("R --save"); q("no") }, .GlobalEnv)

##nor did this:
refresh <- function() { system("R --save"); q("no") }

我尝试了一些上面这两个选项的变化,但这需要很长什么感觉就像一个简单的问题。 有很多我还不知道有关的启动过程,“makeActiveBinding”是一个有点神秘。 任何人都可以点我在正确的方向?

Answer 1:

在Rstudio,您可以通过重新启动R对话:

command/ctrl + shift + F10 

你也可以使用:

.rs.restartR()


Answer 2:

RStudio有这个无证rs.restartR()这是应该能够做到这一点:重新启动R.

但是,它不会卸载加载的包,也没有清洁的环境,让我有一些疑虑,如果重新启动[R可言。



Answer 3:

您是否尝试嵌入应用功能中的函数调用,而不是一个for循环?

我有一些代码片段运行该系统内存不足在for循环运行完全符合适用。 它可以帮助?



文章来源: Restart R within Rstudio
标签: r rstudio