从CRAN中移除的软件包安装

3
我正在使用 R 编程语言。我试图安装“Data Mining with R”(DMwR)包。然而,当我访问 CRAN 网站 时,它似乎已经消失了:

Package ‘DMwR’ was removed from the CRAN repository.
Formerly available versions can be obtained from the archive.
Archived on 2021-03-16 as check problems were not corrected despite reminders.
A summary of the most recent check results can be obtained from the check results archive.

我访问了 Github 页面 这个包

然后,我尝试直接从 Github 安装此软件包:

> library(devtools)

Loading required package: usethis
Warning message:
package ‘usethis’ was built under R version 4.0.5 

> install_github("Luis Torgo/DMwR")

Error: Failed to install 'unknown package' from GitHub:
  JSON: EXPECTED value GOT <

但这也不起作用。有人能请教我如何安装这个软件包吗?
4个回答

8
除了从CRAN软件源安装外,另一个选择是:
remotes::install_version("DMwR", version="0.4.1")
  • 对于这种方法,你需要在存档目录中查找最新版本(如果你想编写代码,可能可以进行网络爬取)。
  • remotes::install_github("cran/<package>")一样,你将从源代码安装,这意味着如果包或其任何依赖项有已编译的组件(在此情况下似乎没有),则需要在系统上安装开发工具(编译器等)。

快速提醒:

  • 如果包最近被归档,并且归档的原因是因为CRAN维护者很挑剔(这是他们的权利),那么这种方法将有效;
  • 然而,由于上次更新以来,包可能已经与当前R生态系统(R版本、依赖项)不兼容——在这种情况下,你可能会发现自己陷入了依赖地狱,试图安装它(或者更糟的是,你的结果可能不可靠)。

谢谢您的回复!这似乎起作用了! - stats_noob
1
如果其中任何一个答案解决了您的问题,我们鼓励您点击复选标记来接受它。 - Ben Bolker
@BenBolker 我也遇到了同样的问题,你的回答帮了我很大忙。现在我只有一个问题:如何加载这个包?library()或者require()都不起作用。我的代码是:remotes::install_version("zeligverse", version="0.1.1")require(zeligverse) - rr19
你可能需要在一个单独的问题中发布这个。我猜测有多个缺失的包。如果你将其作为一个单独的问题发布,请确保明确指定“不起作用”是什么意思(即,你得到了什么错误消息?) - Ben Bolker

5

我在 R 4.1.0 上看到了同样的信息。

install.packages("DMwR")
Warning message:
package ‘DMwR’ is not available for this version of R

另一种选择是创建一个checkpoint。根据CRAN软件包网站的说法,它在“2021-03-16”被归档。因此,我们可以使用该日期之前的 checkpoint。

library(checkpoint)
checkpoint("2021-03-15")
install.packages("DMwR")
library(DMwR)
#Loading required package: lattice
#Loading required package: grid
#Registered S3 method overwritten by 'quantmod':
#  method            from
#  as.zoo.data.frame zoo 

检查点也可以被删除

delete_all_checkpoints()

2
很好,这也提供了二进制文件(不像其他方法)。 - Ben Bolker

3
你可以从 CRAN Github 镜像安装它(尽管它已经从 CRAN 中移除),例如:
library(devtools)
install_github("cran/DMwR")

谢谢您的回复!当我输入您的代码时,我得到了以下结果:> remotes::install_version("DMwR", version="0.4.1") 从以下网址下载软件包:https://cran.rstudio.com//src/contrib/Archive/DMwR/DMwR_0.4.1.tar.gz 这些软件包有更新版本可用。 建议更新所有软件包。 您想要更新哪个?1:全部
2:仅CRAN软件包
3:无
4:bitops (1.0-6 -> 1.0-7) [CRAN] 5:gtools (3.8.2 -> 3.9.2) [CRAN] 6:curl (4.3 -> 4.3.1) [CRAN] 7:zoo (1.8-8 -> 1.8-9) [CRAN]
- stats_noob
我输入了“3”,但最终,“DMwR”库没有出现在R studio的软件包列表中。我想知道为什么? - stats_noob
1
我更新了所有过时的软件包(只有我的系统上的gtools),并且安装没有出现错误。但是@BenBolker的解决方案似乎已经奏效了,很高兴你解决了这个问题 :) - jared_mamrot
谢谢大家的帮助! - stats_noob

2

该软件包是为2010年出版的一本书提供支持的。作者于2017年出版了第二版,目前的支持软件包版本为https://cran.r-project.org/web/packages/DMwR2/index.html

该软件包目前已有CRAN托管的源代码和二进制软件包,无需编译,因此可以使用以下命令进行安装:

install.packages("DMwR2", dependencies=TRUE)

您可以按照Github网站上的说明获取最新版本:

library(devtools)  # You need to install this package!
install_github("ltorgo/DMwR2",ref="develop")

这些更有可能在最新版本的R中正常运行。


谢谢您的回复!我尝试安装了“DMwR2”库 - 它成功安装了!但我需要从“DMwR”库中使用的函数在“DMwR2”库中缺失(例如,SMOTE()函数)。https://www.rdocumentation.org/packages/DMwR/versions/0.4.1/topics/SMOTE - stats_noob
如果这是唯一缺失的算法,并且它不依赖于早期包中的其他函数,您可以将其复制到您的DMwr2版本中。如果它确实依赖于其他函数,则应该会出现有信息的错误,然后您可以将它们一起复制。 - IRTFM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接