【问题标题】:R clean Start Code RStudio crash (sometimes)R clean Start Code RStudio 崩溃(有时)
【发布时间】:2015-02-01 16:38:08
【问题描述】:

我已经为 R 创建了这个 cleanStart 函数。它是为了让程序员必须创建包括所有库和变量加载的代码。 (减少代码不完整的机会)

我测试了很多次,但有时 RStudio 会在此代码上崩溃。 有关改进的建议,或者我可能忽略/忘记了一些事情。

cleanStart <- function(){
 keep <- c(
        ".GlobalEnv",
        ".rs.describeObject",
        "Autoloads",
        "tools:rstudio",
        "package:stats",
        "package:graphics",
        "package:grDevices",
        "package:utils",
        "package:datasets",
        "package:methods",
        "package:base"
        )
 lapply(which(!search() %in% keep),function(i){detach(search()[i],character.only = TRUE, unload=TRUE)})
 rm(list = ls()); cat("\014") 
}; suppressWarnings(cleanStart())

提前致谢,

【问题讨论】:

  • base R 怎么样,它也会崩溃吗?
  • 据我所见没有问题:R CMD BATCH cleanStart.R 但我会多次运行它以查看加载所有类型的包后是否会出现问题(有些需要其他包)

标签: r function lapply detach


【解决方案1】:

我在 RStudio 中使用完全不同的代码但不是基本 R 时遇到了类似的问题。问题是我的项目目录中保存了一个大型 R 数据对象,其扩展名为 .R 而不是 .Rda。 RStudio 试图在加载时读取这个大对象,所以当我尝试运行某些东西时,我的大部分内存都被使用了,RStudio 会崩溃。您可能需要检查您的项目目录中是否还有其他大型 .R 文件。

【讨论】:

  • 嗨莎伦,感谢您的重播。 R 中没有大对象。写完代码后,我连续多次运行它,看看它是否稳定并保存以供使用。因此,每次下一次迭代 R 为空或仅包含一些包在进程中加载​​。它只是有时不起作用。我在Linux下工作。昨天我尝试在 Windows 下多次运行相同的功能。到现在都没问题。我也将在 Unix 下进行试验。我认为问题与嵌套库有关。 (使用另一个包的包)如果有干净的 Start 代码可以完美地工作,那就太好了。想法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
相关资源
最近更新 更多