Tôi có XTS timeseries ở định dạng R sau và đang cố gắng xử lý, sắp xếp và sắp xếp lại trước khi xuất dưới dạng CSV cho công việc trong một chương trình khác.Làm cách nào để thay đổi XTS thành data.frame và giữ chỉ mục trong R?
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
và
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"
Và tôi muốn chuyển đổi này vào một data.frame vì vậy tôi có thể vận dụng nó một cách dễ dàng hơn và sau đó xuất khẩu sang một chương trình khác. Tuy nhiên, khi tôi sử dụng test1 <- as.data.frame(master_1)
các test1 không có chỉ số (tức là ngày tháng và thời gian) có thể nhìn thấy,
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
Nhưng Index không hiển thị,
str(test1)
'data.frame': 4000 obs. of 1 variable:
$ S_1: num 2.85 2.69 2.57 2.38 2.22 ...
Và viết một csv write.csv(master_1, file="master_1.csv")
không bao gồm thời gian hoặc ngày tháng. Tại sao điều này, và làm thế nào tôi có thể bao gồm dữ liệu/dữ liệu thời gian như một cột, do đó, nó được sử dụng trong các lệnh R khác và xuất khẩu đúng cách?
Cảm ơn bạn đã được trợ giúp.
Điều này là chính xác. Để trả lời câu hỏi thứ hai: 'write.csv' không bao gồm chỉ mục vì chỉ mục là thuộc tính xts * *, không phải là một danh sách. Sử dụng 'write.zoo' để thay thế. –
Cảm ơn Shane và Joshua, điều đó giúp tôi biết tôi đã đi sai ở đâu. – phrozenpenguin
'' data.frame (date = index (master_1), value = coredata (master_1) [,]) '' để đổi tên biến trong một lần. – PatrickT