我有一个R项目,它使用RCPP进行长时间的模拟。当我试图停止在rstudio中使用这样一个程序(例如,它花费的时间太长或我不再对这些结果感兴趣)时,rstudio就会崩溃。本质上,我正在寻找一种在不破坏r studio的情况下杀死rcpp函数的方法,这样我就可以用一些不同的参数再次运行它,而不会在r环境中丢失变量(当r studio崩溃时)。我可以在调用函数之前保存和加载环境,但我希望有一个优雅的解决方案。有什么建议吗?
下面是一个例子。
testr<-function()。{
i=1
而(i>0)
< /代码>
C++文件
中的另一个函数
//[[rcpp::export]]
int测试cpp()。{
双x=3;
做{
}同时(x>0);
返回X;
}
< /代码>
当我调用testr然后单击控制台中的红色停止图标时,它将正常退出。
相反,如果我调用testcp并执行相同的操作,则会收到以下消息(如果我只单击一次,则必须按红色停止图标两次,否则不会发生任何情况)。如果单击“是”,会话将重新启动,并丢失变量。![](“https://i.stack.imgur.com/kvm9k.png”alt=“enter)
“
下面是一个例子。
testR <- function(){
i=1
while(i>0){}}
C++文件中的另一个函数
// [[Rcpp::export]]
int testCpp( ) {
double x=3;
do{
} while (x>0);
return x;
}
当我呼唤testR
然后单击控制台中的红色停止图标,它将正常退出。
相反,如果我打电话testCpp
同样,我会收到以下信息(我必须按红色停止图标两次,如果我只单击一次,就不会发生任何事情)。如果单击“是”,会话将重新启动,并丢失变量。![enter image description here](https://i.stack.imgur.com/KVM9K.png)
“