library(tidyverse)
library(openxlsx)
library(reshape2)
# Loading & wrangling data
hpi <- read.xlsx(xlsxFile = "https://github.com/aldenfelix/aldenfelix.github.io/raw/main/Data/HPI_PO_monthly_hist.xlsx",
startRow = 4,
detectDates = TRUE)
# Select seasonally adjusted variables
# NOTE: TO INCLUDE PARENTHESES IN SEARCH USE \\ AS SEEN BELOW
sa_vars <- hpi %>%
select(grep("\\(SA\\)|Month", colnames(hpi)))
# install.packages("reshape2")
library(reshape2)
# Turn data from wide to long format
sa_hpi <- melt(sa_vars, id.vars = "Month")Assignment 9
Loading and Wrangling Data
Plotting Data Frame with TSstudio
class(sa_vars)[1] "data.frame"
library(TSstudio)
ts_plot(sa_vars,
title = "Seasonally Adjusted Housing Price Index")Converting Data Frame to Zoo Class
library(zoo)
ts_data <- read.zoo(sa_hpi, split = "variable", index = "Month")
class(ts_data)[1] "zoo"
# Can also convert to xts, example:
# data_xts <- xts(data$value, data$date)
# NOTE: problem with data not being recognized as multiple time seriesPlotting Zoo Series with TSstudio and dygraphs
library(TSstudio)
ts_plot(ts_data,
title = "Seasonally Adjusted Housing Price Index")library(dygraphs)
dygraph(ts_data, main = "Seasonally Adjusted Housing Price Index") %>%
dyLegend(show = "always")