【问题标题】:Error using library(caret) in RStudio在 RStudio 中使用库(插入符号)时出错
【发布时间】:2022-05-07 23:29:23
【问题描述】:

我一直在尝试将插入符号库用于简单的 ML 应用程序。我正在使用最新版本的 R (3.4.3) 和 RStudio (1.1.414)。这是我的方法

install.packages("caret",repos = "http://cran.r-project.org", dependencies = c("Depends", "Imports", "Suggests"))

当我运行代码库(插入符号)时,出现以下错误

Error: package or namespace load failed for ‘caret’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘gower’

现在我继续安装它建议的软件包,即 DEoptimR、gower 等。这个列表永远不会结束,因为一旦我安装了一个软件包,它就会要求另一个软件包。我很沮丧。我确实在每个论坛中查找过,但它并没有解决我的问题。我不确定为什么代码 install.package 没有安装所有必需的包,即使我明确要求这样做。当我检查 .libPaths() 时,我可以看到它可以访问我的两个库目录

[1] "C:/Users/omid/Documents/R/win-library/3.4"
[2] "C:/Program Files/R/R-3.4.3/library" 

有人可以帮忙吗?

编辑 1:

install.packages("caret",repos = "https://cran.r-project.org", dependencies = c("Depends", "Imports"))
Installing package into ‘C:/Users/omidm/Documents/R/win-library/3.4’
(as ‘lib’ is unspecified)
trying URL 'https://cran.r-project.org/bin/windows/contrib/3.4/caret_6.0-78.zip'
Content type 'application/zip' length 5155777 bytes (4.9 MB)
downloaded 4.9 MB

package ‘caret’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\omidm\AppData\Local\Temp\RtmpGuZ1vH\downloaded_packages

library(caret)
Loading required package: lattice
Loading required package: ggplot2
Error: package or namespace load failed for ‘caret’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘gower’

我还卸载了 R 和 RStudio 并重新安装了它们。仍然出现同样的错误。

已解决:

我设法以某种方式解决了这个问题,但是,我仍然不确定如何解决。这就是我所做的

打开 R GUI(不是 RStudio)并运行:

install.packages("installr") # install 
installr::updateR() # updating R

键入 q() 退出然后打开 RStudio。转到包并更新所有包

根据@chinsoon 和@Ronald 的 cmets 安装包插入符号

install.packages("caret", dependencies=c("Depends", "Imports"))

如果您仍然收到有关任何软件包的错误,请安装该软件包。它不会要求任何其他包,因为您已从依赖项中删除了“建议”。希望这能解决一些人的问题。

【问题讨论】:

  • 这很奇怪,尤其是因为您使用的是最新版本的 R。
  • 运行时能不能发消息install.packages("caret", repos="https://cran.r-project.org")
  • 我可以用你的代码重现这个。使用dependencies = c("Depends", "Imports")。无论如何,您可能不需要建议的软件包。另外,现在推荐使用https://
  • 依赖项的安装不是递归的,即依赖项的依赖项可能不会被包含在内,并且插入符号需要很多包,所以它似乎永远不会结束,但事实并非如此。 caret 包实际上是在统一格式下捆绑了许多不同的包。
  • 安装依赖递归的:如果caret需要gower,那么所有需要加载它的gower的依赖也会被安装。您不一定会获得 gower 的“建议”包,但您应该获得其他所有内容。

标签: r r-caret


【解决方案1】:

简单易行:

install.packages("gower")
library(caret)

【讨论】:

    【解决方案2】:

    天哪!是的,我几天来一直在寻找解决方案!基本上安装它要求的任何东西。我必须执行以下操作

    install.packages("gower") 图书馆(插入符号) 错误:loadNamespace(j

    没有名为“hardhat”的包

    install.packages("安全帽") 图书馆(插入符号) 错误:loadNamespace(j

    install.packages("并行")

    然后运行 ​​library(caret) 并且它工作了

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 2017-08-28
    • 2015-08-14
    • 2018-10-15
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    相关资源
    最近更新 更多