【问题标题】:Save an *.rda file as a data.frame将 *.rda 文件另存为 data.frame
【发布时间】:2017-10-23 16:56:36
【问题描述】:

这个问题已经问了好几次了,但我还没有找到解决办法。我有一个 rda R 文件 (df),我想将它保存为非二进制文件(例如 txt 或 csv),以便在文本编辑器程序中使用它...

有没有办法做到这一点?

现在使用write.csv(df, file=out.csv) 甚至saveRDS(df, file=out.rds) 给我一个空文件。

我在这里错过了什么......

编辑:我正在使用 rda 文件,而不是最初所述的 rds 文件

【问题讨论】:

  • write.csv 是执行此操作的方法,因此如果没有更多信息,我们将很难为您提供帮助。请参阅stackoverflow.com/help/mcvestackoverflow.com/q/5963269/210673,了解如何改进您的问题以便我们提供更好的帮助。
  • 没有reproducible example 有点难以判断出了什么问题。
  • 实际上 - 我的问题中有一个错字...我正在使用 rda 文件...而不是 rds。
  • 输入文件一旦加载到R中就无关紧要了,那么df是什么?如果它是一个 data.frame,第一个选项(路径上带有引号)应该可以工作,例如write.csv(mtcars, '~/Desktop/mtcars.csv').
  • 那只是参考我的数据......它现在是一个带有“字符”类的对象。我想保存到数据框中,以便可以将其与其他程序一起使用。现在不是一个。并且 write.csv 不起作用,即使按照您的建议加上引号。

标签: r rda


【解决方案1】:

根据定义,RDA 文件是已保存到磁盘的文件,不要与内存(或您的工作区)中的变量混淆。要读入.RDA 文件,请使用load(file = "<path>")。如果你有 .RDA 文件的路径,你可以使用这个:

load(file = "<your path>/<your filename>.RDA")
write.csv(<var name>, file="out.csv") 

有意义吗?

【讨论】:

  • 是的 - 这是有道理的。我认为这会很简单......但它给了我错误:未使用的参数(path="/.RDA")
  • 哦,抱歉,这是来自 .rds 函数。我正在更新。
  • load(file = "/data/myfile.rda") 记住这总是从当前工作目录中获取文件。如果您需要知道这是什么,请使用getwd() 并使用setwd() 进行设置。
【解决方案2】:

看到你有一个 character 类的对象,即一个字符串向量, 您可以使用cat 将其写入文件。

df <- LETTERS # = c("A", "B", ..., "Z")
cat(df, file = "my/path/to/data.txt", sep = "\n", append = FALSE)

现在文件将包含内容

A
B
C
...
Z

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2020-06-12
    • 2014-03-21
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2015-11-10
    • 2016-04-08
    • 1970-01-01
    相关资源
    最近更新 更多