如何将XTS更改为data.frame并保留索引? [英] How can I change XTS to data.frame and keep Index?
问题描述
我有一个R格式的XTS时间序列,格式如下,在导出为CSV以便在另一个程序中工作之前,我试图进行一些处理,子集和重新安排。
I have an XTS timeseries in R of the following format and am trying to do some processing, subsetting and re-arranging before exporting as a CSV for work in another program.
head(master_1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
和
str(master_1)
An ‘xts’ object from 2010-03-03 to 2010-05-25 08:30:00 containing:
Data: num [1:4000, 1] 2.85 2.69 2.57 2.38 2.22 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "S_1"
Indexed by objects of class: [POSIXt,POSIXct] TZ:
Original class: 'zoo'
xts Attributes:
List of 1
$ dateFormat: chr "Date"
我想将其转换为data.frame所以我可以更容易地操纵它sily,然后导出到另一个程序。但是,当我使用 test1<-as.data.frame(master_1)
时,test1确实具有可见的索引(即日期和时间),
And I would like to convert this to a data.frame so I can manipulate it more easily and then export to another program. However, when I use test1 <- as.data.frame(master_1)
the test1 does have the Index (i.e. the dates and times) visible,
head(test1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
但该指数
str(test1)
'data.frame': 4000 obs. of 1 variable:
$ S_1: num 2.85 2.69 2.57 2.38 2.22 ...
编写csv write.csv(master_1,file = master_1.csv)
不包括时间或日期。为什么会这样,以及如何将数据/时间数据作为列包括在内,以便在其他R命令中使用它并正确导出?
And writing a csv write.csv(master_1, file="master_1.csv")
does not include the time or date. Why is this, and how can I include the data/time data as a column, so it is used in other R commands and exported properly?
感谢您的帮助。
推荐答案
这是因为日期是data.frame中的行名。您需要将它们放在单独的列中。
That's because the dates are rownames in your data.frame. You need to make them a separate column.
尝试一下:
data.frame(date=index(master_1), coredata(master_1))
这篇关于如何将XTS更改为data.frame并保留索引?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!