Конвертируйте объект ts в data.frame и сохраняйте имена строк и столбцов - PullRequest
0 голосов
/ 05 января 2019

Я хочу преобразовать объект R ts (т.е. timeseries) в data.frame. Имена строк и столбцов объекта ts должны быть сохранены.

Рассмотрим набор данных AirPassengers :

data(AirPassengers)

Я мог бы преобразовать этот объект TS в data.frame следующим образом:

AirPassengers <- data.frame(matrix(as.numeric(AirPassengers), ncol = 12, byrow = TRUE))
colnames(AirPassengers) <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
rownames(AirPassengers) <- 1949:1960

Однако, это кажется слишком сложным. Удивительно, но поиск в Google не показал более простого решения.

Вопрос: Есть ли простое решение, как преобразовать объекты ts в data.frame без потери имен столбцов и строк?

1 Ответ

0 голосов
/ 05 января 2019

Основная проблема заключается в том, что вывод print для объекта временного ряда довольно сильно обрабатывается .preformat.ts. Если вы хотите преобразовать его во фрейм данных, который визуально похож на результаты печати, это должно сделать:

df <- data.frame(.preformat.ts(datasets::AirPassengers), stringsAsFactors = FALSE)

Обратите внимание, что это приведет к появлению символов (так работает .preformat.ts), поэтому будьте осторожны с использованием (не знаете, какова цель преобразования?).

...