如何将此数据转换为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)