如何在R中使用write.table函数?

如何在R中使用write.table函数?,r,xts,zoo,R,Xts,Zoo,我试图使用命令write.table(ESH2,“c:/ESH2.txt”,sep=“,”)将对象保存到文本文件中。问题是保存的时间序列不包含我下载的日期和时间值。我使用了包twsInstrument和命令getBAT(ESH2) 使用命令load(file=“C:/ESH2.Rdata”) 第一列应显示日期和时间,而不是1323700200 我正在寻找一种每周下载一次数据并合并数据的简单方法 p、 是的,我可以通读教程/书籍来完成这项任务,是的,我会去做,但问题是我没有时间。我想在本周开始收集

我试图使用命令
write.table(ESH2,“c:/ESH2.txt”,sep=“,”)
将对象保存到文本文件中。问题是保存的时间序列不包含我下载的日期和时间值。我使用了包twsInstrument和命令getBAT(ESH2)

使用命令
load(file=“C:/ESH2.Rdata”)

第一列应显示日期和时间,而不是1323700200

我正在寻找一种每周下载一次数据并合并数据的简单方法


p、 是的,我可以通读教程/书籍来完成这项任务,是的,我会去做,但问题是我没有时间。我想在本周开始收集数据,因为交互式代理限制了数据请求
1分钟数据=最多5天
。非常感谢您的帮助和建议。

如果您的唯一目标是保存该对象,以便将来可以再次从R访问该对象,请使用

save(ESH2, file = "C:/ESH2.Rdata") # or whatever you want to call the saved file
我会帮你的。您可以稍后使用“加载”重新获取对象:

load(file = "C:/ESH2.Rdata")

但是,如评论中所述,如果您想要帮助write.table或write.csv解决方案正常工作,则需要提供更多信息。

您可能有一个xts或zoo对象,需要使用
write.zoo
功能。如果我对“ESH2”对象的结构的看法是正确的,那么调用“第一列”的数据实际上是行名,按照zoo/xts的说法,行名是“索引”,而数据可以通过
coredata
访问,并且是矩阵对象

从read/write.zoo页面上的示例中:

Lines <- "CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 300 0
CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 40 51 73.25 100 0
CVX 20070201 9 40 52 73.25 100 0
CVX 20070201 9 40 53 73.25 300 0"

z <- read.zoo(textConnection(Lines), 
    colClasses = c("NULL", "NULL", "numeric", "numeric", "numeric", "numeric",
        "numeric", "NULL"), 
    col.names = c("Symbol", "Date", "Hour", "Minute", "Second", "Price", 
        "Volume", "junk"),
    index = 1:3,  # do not count columns that are "NULL" in colClasses
    FUN = function(h, m, s) times(paste(h, m, s, sep = ":")),
    FUN2 = function(tt) trunc(tt, "00:00:05"),
    aggregate = mean)
# The only material I added.
write.zoo(z)
"Index" "Price" "Volume"
09:30:50 73.25 32660
09:40:50 73.25 166.666666666667

行能否发布一个可复制的示例?您需要提供更多详细信息(例如a)。这仍然很难复制,因为即使安装了
twsInstrument
及其所有依赖项,我发现我仍然需要一个交互式经纪人帐户来使用
货币(“美元”);getBAT(“ESH2”)
。然而,我认为现在知道你的对象是一个
xts
对象将有所帮助……写下(并删除)我自己的答案后,我现在看到@DWin的答案是正确的。你试过了吗???你应该把这些信息添加到你的问题中(通过编辑它),并显示
str(ESH2)
。我亲爱的dwin:)的结果。我根本不知道OP在做什么。。。
Lines <- "CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 300 0
CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 40 51 73.25 100 0
CVX 20070201 9 40 52 73.25 100 0
CVX 20070201 9 40 53 73.25 300 0"

z <- read.zoo(textConnection(Lines), 
    colClasses = c("NULL", "NULL", "numeric", "numeric", "numeric", "numeric",
        "numeric", "NULL"), 
    col.names = c("Symbol", "Date", "Hour", "Minute", "Second", "Price", 
        "Volume", "junk"),
    index = 1:3,  # do not count columns that are "NULL" in colClasses
    FUN = function(h, m, s) times(paste(h, m, s, sep = ":")),
    FUN2 = function(tt) trunc(tt, "00:00:05"),
    aggregate = mean)
# The only material I added.
write.zoo(z)
"Index" "Price" "Volume"
09:30:50 73.25 32660
09:40:50 73.25 166.666666666667