R中的readRDS(文件)

时间:2011-06-24 21:13:35

标签: r crash packages

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

Error in readRDS(file) : unknown input format

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

由于

10 个答案:

答案 0 :(得分:18)

这些是我遇到过的建议:

  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]
    

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

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

  5. 只有解决方案3适合我。

    参考:

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

答案 1 :(得分:4)

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

答案 2 :(得分:2)

Chunxiao Xu和Rando Hinn的解决方案为我工作,只需稍作调整。

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

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

您现在应该可以再次列出这些包。

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

Larry Hunsicker

答案 3 :(得分:2)

简单易用:如果是.rda文件,请使用load代替readRDS。然后,您可以将加载的文件另存为.rds并再次尝试readRDS

答案 4 :(得分:2)

以下是我必须采取的措施来解决此错误:

  • 打开您的Rstudio,转到包
  • 下的安装标签
  • 请注意您对库路径的安装。(将保存您的包)
  • 转到安装库路径。然后硬删除最近的包
  • 在Rstudio中刷新包裹详细信息

答案 5 :(得分:1)

在我不得不在安装多个R软件包的过程中重新启动机器之后发生了这种情况。我删除了最新安装的软件包,方法是删除相应库目录中的文件,重新安装它们,一切都很顺利。我还必须删除库目录中的00LOCK目录。

答案 6 :(得分:0)

R包可能有问题。 在安装某些打包或复制软件包之后,查看问题是否已发生。

你可以做的是从库中复制所有包并将其保存在某个地方,然后在库中复制一些包并重新启动R测试它,看看它是如何工作的,你必须逐个尝试所有的包。 我有同样的问题,这是由于包装问题。

答案 7 :(得分:0)

我在几个论坛上检查了这个问题,然后我尝试了这个,它对我有用:

1)首先删除ggplot2包

remove.packages("ggplot2")

2)再次安装包

install.packages("ggplot2")

3)重新启动rstudio并再次安装你的软件包,希望这有帮助

似乎问题在于所需的软件包(在我的情况下是ggplot2)已损坏,并且妨碍了任何新的依赖软件包的安装。

答案 8 :(得分:0)

我在打开.RDS文件时遇到了一些问题,"错误从连接"或"未知输入格式"。我尝试了几个R版本,版本为3.4.2。以下工作: (我意外地卸载了rstudio并重新安装了它,还安装了旧的R版本3.4.2,我不知道是否有任何变化)

  1. 设置新的工作目录
  2. 我直接打开RDS文件而不是下载它(所以只保存到临时文件),然后我就可以在R中打开它
  3. 我将它从临时文件移动到我的新工作目录并使用Data_Essay_Account <- readRDS("C:/.../newdirectory/Data_Essay_Account.RDS")命令,它运行良好。
  4. 不知何故正确地下载它然后移动它不起作用,只有在我在临时文件中。硬删除包对我来说不起作用,因为我最初尝试过。

答案 9 :(得分:0)

与此处的前几个答案不同,我的问题并没有通过安装RStudio或清理本地文件来解决,而是通过重写RDS文件来解决。

我可以确认这一点,因为该文件存储在云中,并且无法通过各种Windows和Mac笔记本电脑读取它,但是来自同一S3存储桶的类似RDS文件却可以正常工作。

当我重新编写RDS文件时,问题就消失了。