zoo / xts предполагает, что каждый столбец является временным рядом, тогда как входные данные содержат их в строках. Таким образом, используя входной файл, сгенерированный воспроизводимым в конце примечания, считайте его как обычный фрейм данных, транспонируйте его и затем используйте read.zoo
. См. ?read.zoo
и vignette("zoo-read", package = "zoo")
для получения дополнительной информации.
library(zoo)
DF <- read.table("myfile.dat", as.is = TRUE, strip.white = TRUE,
check.names = FALSE)
m <- t(DF)
read.zoo(data.frame(rownames(m), m))
предоставление этого объекта зоопарка:
A B
2010-01-01 1 3
2010-02-01 2 4
yearmon
Поскольку даты кажутся ежемесячными альтернативой будет использование класса yearmon для дат, добавив аргумент FUN = as.yearmon в read.zoo. Класс yearmon представляет год / месяц напрямую и сортирует по порядку дат.
# alternative to read.zoo line
read.zoo(data.frame(rownames(m), m), FUN = as.yearmon)
, давая этому объекту зоопарка:
A B
Jan 2010 1 3
Feb 2010 2 4
Примечание
Ввод в воспроизводимой форме. (Пожалуйста, предоставьте это в следующий раз.)
Lines <- "2010-01-01 2010-02-01
A 1 2
B 3 4"
cat(Lines, file = "myfile.dat")