2017-06-07 64 views
0

我有一些問題獲得這個數據是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)) 

回答

0

我想你想從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) 
相關問題