gpt4 book ai didi

r - 如何在 Rstudio 启动时停止加载包

转载 作者:行者123 更新时间:2023-12-02 08:57:05 32 4
gpt4 key购买 nike

我有一个我一直在做的 Rstudio 项目。自从我上次将 Rstudio 更新到 1.0.143 - Mac OS X 10.6+(64 位)以来,该项目无法启动。我认为它可能链接到一个在启动时自动加载的包,并且出于某种原因尚未决定停止使用 R/Rstudio。 XL连接...

我尝试从目录中删除 .RData、.Rhistory 和 .Rproj.user。仅删除 .RData 有效,并且 Rstudio 启动没有问题。我的目录、我的主目录或站点范围文件中似乎没有任何 .RProfile 文件。

现在我什至无法打开 Rstudio session ,因为它因错误而崩溃

R encountered a fatal error.
The session was terminated.

我可以毫无问题地打开其他 Rstudio session 。

当我打开一个单独的 R session (无 R 工作室)并尝试

load('path/to/.RData')

我收到以下错误消息:

* caught segfault * address 0x18, cause 'memory not mapped'

Traceback: 1: dyn.load(file, DLLpath = DLLpath, ...)

2: library.dynam(lib, package, package.lib)

3: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])

4: asNamespace(ns)

5: namespaceImportFrom(ns, loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]), i[[2L]], from = package)

6: loadNamespace(name)

7: doTryCatch(return(expr), name, parentenv, handler)

8: tryCatchOne(expr, names, parentenv, handlers[[1L]])

9: tryCatchList(expr, classes, parentenv, handlers)

10: tryCatch(loadNamespace(name), error = function(e) { warning(gettextf("namespace %s is not available and has been

replaced\nby .GlobalEnv when processing object %s", sQuote(name)[1L], sQuote(where)), domain = NA, call. = >FALSE, immediate. = TRUE) .GlobalEnv})

11: ..getNamespace(c("openxlsx", "4.0.17"), "uwc.sel.book")

12: load("./Dropbox/OxfordTT2017/DNAextraction_26052017/ColWork2017/Fielddata_04052016/.RData")

Possible actions:

1: abort (with core dump, if enabled)

2: normal R exit

3: exit R without saving workspace

4: exit R saving workspace

所以我正在寻找一种方法来阻止 Rstudio session 在启动时加载包(我不确定它为什么首先这样做,因为我不记得设置任何类型的 RProfile..) 。

最佳答案

您似乎在之前的 RStudio 版本中创建了一些对象,它们需要某些包。当您关闭 RStudio 时,您的工作区保存在 .RData 中文件。然后,如果您再次启动该项目,RStudio 将尝试恢复上一个工作区,但这些对象需要某些包才能工作。所以您会看到 RStudio 在启动时加载这些包。

例如,创建一个新的 RStudio 项目。

install.packages('phylobase')
library(phylobase)
mytree <- phylo4(x=matrix(data=c(4,1, 4,5, 5,2, 5,3, 0,4), ncol=2, byrow=TRUE), tip.label=c("speciesA", "speciesB", "speciesC"))

关闭该项目并重新打开它(确保保存工作空间)。

R version 3.4.1 (2017-06-30) -- "Single Candle"
...
Type 'q()' to quit R.

[Workspace loaded from W:/work/Git/bookdown-minimal/.RData]

Loading required package: phylobase
> search()
[1] ".GlobalEnv" "package:phylobase" "tools:rstudio" "package:stats" "package:graphics"
[6] "package:grDevices" "package:utils" "package:datasets" "package:methods" "Autoloads"
[11] "package:base"

mytree是一个S4类对象,可以看到自动加载了phylobase。您可以引用 S4 类的文档。

解决方案

  1. 您必须安装所需的软件包或放弃 .RData文件。
  2. 您可以通过 Tools 阻止 RStudio 在启动时加载包-> Global Options...取消选中Resotore .RData into workspace at startup 。您仍然无法使用 .RData 中的对象文件,除非您执行 1。

关于r - 如何在 Rstudio 启动时停止加载包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173367/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com