R中的readRDS(文件)

Zac*_*ach 22 crash packages r

每当我尝试在R中安装软件包时,都会收到以下错误:

Error in readRDS(file) : unknown input format
Run Code Online (Sandbox Code Playgroud)

这刚刚在系统崩溃后开始发生.我在Windows 7下运行32位R 2.13.0.我尝试删除并重新安装R,但继续得到错误.有没有办法解决这个问题而不删除所有内容(即我安装的所有软件包)并重新开始?

谢谢

csg*_*pie 19

这些是我遇到的建议:

  1. 删除运行R的目录中的文件.Rhistory.RData文件.
  2. update.packages()
  3. 尝试并检测库目录中的"坏文件".你可以在R中做到这一点

    # List the library paths
    # The issue is likely to be in the first directory
    paths = .libPaths()
    
    ## Try and detect bad files
    list.files(paths, 
           pattern = "^00LOCK*|*\\.rds$|*\\.RDS$",
           full.names = TRUE)
    
    ## List files of size 0
    l = list.files(paths, full.names = TRUE)
    l[sapply(l, file.size) == 0]
    
    Run Code Online (Sandbox Code Playgroud)

    删除突出显示的所有文件/目录 你可以使用,file.remove()如果你真的想.

  4. 删除已存储下载的软件包的目录.

只有解决方案3适合我.

参考:

  • R-sig-Debian邮件列表
  • 选项3是过去几年不同人提供的答案的组合,包括Chunxiao Xu,Larry Hunsicker和Frank Harrell

  • 相同的故事.不得不切换到另一个目录 (2认同)
  • 我已经尝试了上述所有解决方案,但似乎都不起作用。我找不到 .Rhistory 和 Rdata 文件。 (2认同)

小智 5

运行find /usr/local/lib/R/site-library/ /usr/lib/R/library/ /usr/lib/R/site-library/ ~/.local/lib/ -iname '*rds' -a -size 0,然后删除找到的文件。


Lar*_*ker 5

Chunxiao Xu 和 Rando Hinn 上面的解决方案对我有用,只需稍作调整。

首先,将目录更改为您的个人 R 包目录,然后运行: find -iname '*rds' -a -size 0

删除上面列表中包含任何长度为 0 的文件的目录。然后重新打开 R(或 RStudio)并重新安装删除的包。

您现在应该能够再次列出包。

Chunxiao Xu 上面的原始建议列出了所有 R 包目录。但是这些目录的确切位置因安装而异,并且必须为您的安装编辑它们的地址。

拉里·亨西克