如何将此数据转换为R中的时间序列?

问题描述:

我有一些问题获得这个数据是holt-winter模型的时间序列。我不知道下一步该怎么做。如何将此数据转换为R中的时间序列?

library(reshape) 
library(tidyr) 

tempdata = as.matrix(read.table("https://d37djvu3ytnwxt.cloudfront.net/assets/courseware/v1/592f3be3e90d2bdfe6a69f62374a1250/asset-v1:[email protected]+block/temps.txt", header = TRUE, row.names = 1)) 

#melt data for time series 

tempdata.ts <- melt(tempdata, id=1:1) 

#concatenate Date and Year 

tempdata.ts <- tempdata.ts %>% unite(col = "Date", c(X1, X2)) 

我想你想从stats适合HoltWinters。此功能需要ts对象。

library(dplyr) 
library(tidyr) 
library(lubridate) 

首先,重塑数据:

file <- "https://d37djvu3ytnwxt.cloudfront.net/assets/courseware/v1/592f3be3e90d2bdfe6a69f62374a1250/asset-v1:[email protected]+block/temps.txt" 

read.table(file, header = TRUE, row.names = 1) %>% 
as.data.frame() %>% 
mutate(DayMonth = rownames(.)) %>% 
gather(Date, Value, -DayMonth) %>% 
unite("Date", c(DayMonth, Date)) %>% 
mutate(Date = dmy(Date)) -> tempData 

创建时间序列对象:

tsData <- as.ts(
tempData$Value, start = min(tempData$Date), end = max(tempData$Date), 
frequency = 365)