安装factoextra时rbind(info,getNamespaceInfo(env,“S3methods”)中出错

安装factoextra时rbind(info,getNamespaceInfo(env,“S3methods”)中出错,r,package,installation,R,Package,Installation,我正在尝试在Windows上使用本地源tar-ball安装“factoextra”包。我可以用同样的方法安装其他软件包,没有问题。然而,当安装“factoextra”时,我得到了一个与S3方法相关的错误 我尝试过使用本地windows二进制文件,安装最新的Rtools,并确保安装了所有依赖项。我还尝试使用该软件包的存档版本 install.packages('D:\\R_Packages\\Packages\\factoextra_1.0.5.tar.gz', repos = NULL, typ

我正在尝试在Windows上使用本地源tar-ball安装“factoextra”包。我可以用同样的方法安装其他软件包,没有问题。然而,当安装“factoextra”时,我得到了一个与S3方法相关的错误

我尝试过使用本地windows二进制文件,安装最新的Rtools,并确保安装了所有依赖项。我还尝试使用该软件包的存档版本

install.packages('D:\\R_Packages\\Packages\\factoextra_1.0.5.tar.gz', repos = NULL, type="source")

* installing *source* package 'factoextra' ...
** package 'factoextra' successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** byte-compile and prepare package for lazy loading
Error in rbind(info, getNamespaceInfo(env, "S3methods")) : 
  number of columns of matrices must match (see arg 2)
ERROR: lazy loading failed for package 'factoextra'
* removing 'D:/R-3.5.2/library/factoextra'
In R CMD INSTALL
Warning in install.packages :
   installation of package ‘D:/R_Packages/Packages/factoextra_1.0.5.tar.gz’ had non-zero exit status
我真的只需要安装这个软件包。

我发现了这个线程:,这让我想到了如何在我的机器上解决类似的问题

我发现我的系统上安装了一个坏版本的软件包,在安装一个干净的版本之前必须手动删除

查找是否以及在何处安装了
factoextra
(它可能在您的系统上,只是过时或已损坏):

如果它已经存在(刚刚损坏),您可以尝试使用以下方法将其移除:

remove.packages("factoextra")
如果
remove.packages()

一旦旧的、损坏的软件包被删除,使用
install.packages(“factoextra”)
它应该可以工作

我有好几个包裹是这样破的。如果您是这样,您可以使用以下方法确定要以这种方式删除和安装的软件包:

allPackages <- installed.packages()[, 1]
findBrokenPackages <- function(packages) {
    for (p in packages) {
        tryCatch(ncol(asNamespace(p)$.__NAMESPACE__.$S3methods),
                 error = function(e) print(c(p, e)))
    }
}
findBrokenPackages(allPackages)

allPackages查找坏包的代码是一个很好的解决方案。似乎有些依赖关系被打破了。一旦我重新安装了它们(修复了它们),那么我就可以安装factoextra而不会出错。非常感谢。我发现由本地二进制文件安装的所有软件包[例如install.packages('D:\\R\u packages\\packages\\gmp\u 0.5-13.5.zip',repos=NULL,type=“win.binary”)]都会导致相同的错误。软件包安装时没有错误,但通过库(gmp)加载时会出现错误。关于为什么从二进制文件安装突然停止对我起作用,有什么提示吗?@LisaClark你最近升级过R吗?在这种情况发生后,上述解决方案是否能够修复二进制安装?如果是这样,我担心这可能只是升级带来的成长之痛。如果您根本无法安装某些软件包,即使在尝试了以上内容之后,您可能还需要开始另一个问题,并提供更多详细信息。遗憾的是,最近没有升级,但一定发生了一些变化。我会坚持下去。谢谢你的帮助!
allPackages <- installed.packages()[, 1]
findBrokenPackages <- function(packages) {
    for (p in packages) {
        tryCatch(ncol(asNamespace(p)$.__NAMESPACE__.$S3methods),
                 error = function(e) print(c(p, e)))
    }
}
findBrokenPackages(allPackages)