## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, message = FALSE ) library(csdm) ## ----load-data---------------------------------------------------------------- data(PWT_60_07, package = "csdm") head(PWT_60_07, 10) str(PWT_60_07) # For computational speed in this vignette, use a subset: # first 15 countries, 1970-2007 first_15_ids <- unique(PWT_60_07$id)[1:15] df <- subset(PWT_60_07, id %in% first_15_ids & year >= 1970 & year <= 2007) ## ----install-package, eval = FALSE-------------------------------------------- # install.packages("csdm") ## ----install-github, eval = FALSE--------------------------------------------- # install.packages("remotes") # remotes::install_github("Macosso/csdm") ## ----mg-fit------------------------------------------------------------------- # MG: Separate regression per country, then average coefficients fit_mg <- csdm( log_rgdpo ~ log_hc + log_ck + log_ngd, data = df, id = "id", time = "year", model = "mg" ) print(fit_mg) summary(fit_mg) ## ----cce-fit------------------------------------------------------------------ # CCE: Add cross-sectional means to control for common shocks fit_cce <- csdm( log_rgdpo ~ log_hc + log_ck + log_ngd, data = df, id = "id", time = "year", model = "cce", csa = csdm_csa(vars = c("log_rgdpo", "log_hc", "log_ck", "log_ngd")) ) print(fit_cce) summary(fit_cce) ## ----dcce-fit----------------------------------------------------------------- # DCCE: Include dynamics and cross-sectional means # Use lagged dependent variable to capture dynamic adjustment fit_dcce <- csdm( log_rgdpo ~ log_hc + log_ck + log_ngd, data = df, id = "id", time = "year", model = "dcce", csa = csdm_csa( vars = c("log_rgdpo", "log_hc", "log_ck", "log_ngd"), lags = 3 ), lr = csdm_lr(type = "ardl", ylags = 1, xdlags = 0) ) print(fit_dcce) summary(fit_dcce) ## ----csardl-fit--------------------------------------------------------------- # CS-ARDL: Separate short-run and long-run dynamics # Includes lagged dependent and lagged regressors fit_csardl <- csdm( log_rgdpo ~ log_hc + log_ck + log_ngd, data = df, id = "id", time = "year", model = "cs_ardl", csa = csdm_csa( vars = c("log_rgdpo", "log_hc", "log_ck", "log_ngd"), lags = 3 ), lr = csdm_lr(type = "ardl", ylags = 1, xdlags = 1) ) print(fit_csardl) summary(fit_csardl) ## ----cd-tests----------------------------------------------------------------- # Test MG residuals for CSD cd_mg <- cd_test(fit_mg, type = "CD") print(cd_mg) # Test CCE residuals for CSD set.seed(1234) cd_cce <- cd_test(fit_cce, type = "all") print(cd_cce) # Test DCCE residuals for CSD set.seed(1234) cd_dcce <- cd_test(fit_dcce, type = "CDw") print(cd_dcce) # Test CS-ARDL residuals for CSD set.seed(1234) cd_csardl <- cd_test(fit_csardl, type = "all") print(cd_csardl)