【问题标题】:Export a simple R dataframe to txt tsv or csv将简单的 R 数据框导出到 txt tsv 或 csv
【发布时间】:2016-03-19 17:23:40
【问题描述】:

我正在尝试做一些显而易见的事情,但没有办法解决它。从网上下载的R中的数据框如下我需要保存数据。这是我如何下载它:

library(tseries)
library(zoo)
ts <- get.hist.quote(instrument="DJIA", 
                     start="2008-07-01", end="2017-03-05", 
                     quote="Close", provider="yahoo", origin="1970-01-01",
                     compression="d", retclass="zoo")

然后,返回带有两列表的对象“ts”;第一个日期(没有 R 喜欢的标题)和另一个具有 DJIA 的“关闭”值

            > ts
                  Close
    2008-07-01 11382.26
    2008-07-02 11215.51
    2008-07-03 11288.53
    2008-07-07 11231.96
    .
    .
    .
    2016-03-03 16943.90
    2016-03-04 17006.77 

我需要以 txt 或类似格式导出此数据并稍后导入列表; (因为我会尝试处理健康信息,无法访问互联网)但是当我尝试保存它时;没有标题的日期列丢失。此外,还添加了“行数”列。如果问题很明显,但没有其他选择可以解决,我深表歉意

【问题讨论】:

标签: r


【解决方案1】:

日期列没有标题,因为日期是作为行名/索引导入的。 write.csv 的默认值为 row.names = FALSE。试试:

write.csv(ts, file = "ts.csv",row.names=TRUE)

编辑
奇怪的是,这不适用于 class "zoo" 的对象

? write.table

write.table 打印其所需的参数 x(在将其转换为 数据框(如果它不是一个也不是矩阵)到文件或连接。

显然这种转换以某种方式失败了。但是,这可行:
write.csv(data.frame(ts), file = "ts.csv",row.names=TRUE)

【讨论】:

  • 是 RHA;我以前试过这个;但 *.csv 文件的数据与 R 中 ts 显示的数据不同,这就是我的困难
  • @Mario 那么请在您的问题中说明出了什么问题。或者尝试将行名转换为列。请参阅上面的编辑答案!
  • ts.csv 显示以下内容; ,"Close" 1,11382.259766 2,11215.509766 3,11288.530273 4,11231.959961 但不显示标准字符的日期 2008-07-01 11382.26
  • @Mario 你是对的,这不适用于动物园对象。上面贴了一个解决方案,希望对你也有用!
  • YESSSSS 我亲爱的@RHA 它运行良好!但是我花了很多时间才无处可去。因为除了难度我还在学R哦;谢谢谢谢,再次感谢我的朋友!
【解决方案2】:

ts 对象是一个动物园对象(不是两列表)。在这种情况下,动物园对象在内部由一列数据矩阵和一个保存日期的"index" 属性表示。

1) 保存/加载 如果您想要对输出文件做的唯一事情是稍后将其读回 R,那么没有理由需要文本,任何格式都可以。特别是你可以这样做:

save(ts, file = "ts.Rda")

现在在稍后的会话中:

library(zoo)
load("ts.Rda")

1a) 这也可以工作,并生成一个 R 源文件,该文件在获取时会重建动物园对象:

dump("ts", "ts.R")

在以后的会话中:

library(zoo)
source("ts.R")

2) write.zoo/read.zoo 这将给出一个文本文件:

write.zoo(ts, "ts.dat")

它可以在另一个会话中写回:

library(zoo)
ts <- cbind( read.zoo("ts.dat", header = TRUE) )

【讨论】:

  • 添加了第二种方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多