R:使用时间索引将mts转换为非时间序列数据帧的最佳方法

Zac*_*ach 4 datetime r time-series data-structures

我目前正在使用以下方法将mts数据集转换为时间索引为列的数据框.有没有更优雅的方式来做到这一点?

z <- ts(matrix(rnorm(300), 100, 3), start=c(1961, 1), frequency=12)
YM<-cbind(Year=as.numeric(floor(time(z))),Month=as.numeric(cycle(z)))
z<-cbind(as.data.frame(YM),as.data.frame(z))

str(z)
Run Code Online (Sandbox Code Playgroud)

G. *_*eck 7

试试这个:

data.frame(Year = c(floor(time(z) + .01)), Month = c(cycle(z)), z)
Run Code Online (Sandbox Code Playgroud)

要么

as.data.frame(cbind(Year = floor(time(z) + .01), Month = cycle(z), z))
Run Code Online (Sandbox Code Playgroud)