将简单的R数据帧导出为txt tsv或csv

将简单的R数据帧导出为txt tsv或csv,r,R,我试图做一些显而易见的事情,但没有办法解决它。从从web下载的R中的数据帧中,我需要保存数据,如下所示。以下是我下载它的方式: library(tseries) library(zoo) ts <- get.hist.quote(instrument="DJIA", start="2008-07-01", end="2017-03-05", quote="Close", provider="yahoo"

我试图做一些显而易见的事情,但没有办法解决它。从从web下载的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")

我需要以txt或类似格式导出此数据,稍后再导入列表;(因为我将尝试处理健康信息,而不访问互联网)但当我尝试保存它时;缺少没有标题的日期列。此外,还添加了“行数”列。如果问题很明显,但没有其他选项来解决,我会表示同意。日期列没有标题,因为日期是作为行名/索引导入的。默认的
write.csv
具有
row.names=FALSE
。尝试:

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

编辑
更糟糕的是,这不适用于
类“zoo”

根据《代码》?写入.表格:

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

很明显,这种转换以某种方式失败了。但是,这是可行的:

write.csv(data.frame(ts),file=“ts.csv”,row.names=TRUE)

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

1)保存/加载如果您只想稍后将输出文件读回R,那么没有理由需要文本,任何格式都可以。具体来说,您可以这样做:

save(ts, file = "ts.Rda")
现在在以后的会议上:

library(zoo)
load("ts.Rda")
library(zoo)
source("ts.R")
1a)这也会起作用,并生成一个R源文件,当源文件重建zoo对象时:

dump("ts", "ts.R")
在以后的会议上:

library(zoo)
load("ts.Rda")
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) )
图书馆(动物园)

ts是RHA;我以前试过这个;但是*.csv文件的数据与ts在R中显示的数据不同,这是我的difficulty@Mario那么请在你的问题中指出哪里出了问题。或者尝试将行名转换为列。见上面编辑的答案!ts.csv显示以下内容,“Close”111382.259766 211215.509766 311288.530273 411231.959961但不以标准字符2008-07-01 11382显示日期。26@Mario你说得对,这不适用于动物园对象。在上面发布了一个解决方案,希望它对你也有效!是的,我亲爱的@RHA,效果很好!但是我花了很多时间才没有去任何地方;因为除了困难之外我还在学习R哦;谢谢&再次感谢我的朋友!可能重复添加的第二种方法。