7

我的 rjson 包随机不起作用。例如,它有时工作正常,有时无法加载。不知道为什么。

我得到这个错误。

     Error in library("rjson") : there is no package called ‘rjson’

为了尝试缓解这种情况,尽管知道它已安装,但我在脚本中添加了一个安装行。

   install.packages("rjson", repos="http://cran.rstudio.com/")
   library(rjson)

现在我明白了......

将软件包安装到“C:/Users/Tom/Documents/R/win-library/2.15”(因为未指定“lib”)尝试 URL ' http://cran.rstudio.com/bin/windows/contrib /2.15/rjson_0.2.13.zip ' 内容类型 'application/zip' 长度 491848 字节 (480 Kb) 打开 URL 下载 480 Kb

包“rjson”成功解包并检查了 MD5 和警告:无法删除包“rjson”的先前安装</p>

下载的二进制包在 C:\Users\Tom\AppData\Local\Temp\RtmpiOfTqK\downloaded_pa​​ckages

在 R 中,当我出于某种原因转到“Packages --> Load”时,rjson 不存在。它从来没有,即使它起作用了。

我已经导航到...

C:\Users\Tom\Documents\R\win-library\2.15

我可以确认 rjson 的文件夹在那里。

不知道该怎么做。

4

1 回答 1

8

这已经发生在我身上好几次了。当您尝试安装已安装软件包的较新版本时,通常会发生这种情况(尽管在其他更罕见的情况下可能会发生)。

到目前为止我找到的解决方案是回到你的库路径,即你机器上安装包的位置(C:\Users\user_name\Documents\R\win-library\R_version是 Windows 上的默认路径)删除相应的包文件夹,然后像往常一样使用以下方法重新安装包:

install.packages('rjson')

这样它应该可以工作。

或者您甚至可以按照@Thomas 的评论以编程方式进行:

#get list of installed packages
inst_packages <-  installed.packages()

if ("rjson" %in% inst_packages[, 1]) { 
     #uninstalls package
     remove.packages("rjson")
     #re-installs package
     install.packages("rjson") 
} 

甚至更好的是使用:

if ("rjson" %in% inst_packages[, 1]) update.packages("rjson")
于 2015-09-22T18:35:56.970 回答