I am getting the following error when running the below script for the Bayesian Gaussian Process (GP) Model using spTimer or spTDyn #Error Output: GP models Error in spGP.Gibbs(formula = formula, data = data, time.data = time.data, : Error: Years, Months, and Days are misspecified, i.e., total number of observations in the data set should be equal to N : N = n * r * T where, N = total number of observations in the data, n = total number of sites, r = total number of years, T = total number of days.
#######Script library(spTimer) library(spTDyn) library(tidyverse) library(ggmap) register_google(key="your key") getOption("ggmap") #Data to be analyzed is from plm package #It is a US States Production, which is a panel of 48 observations from 1970 to 1986 #A data frame containing : #state: the state #year : the year #region : the region #pcap : public capital stock #hwy : highway and streets #water : water and sewer facilities #util : other public buildings and structures #pc : private capital stock #gsp : gross state product #emp :labor input measured by the employment in non–agricultural payrolls #unemp : state unemployment rates #Get data data("Produc", package = "plm") glimpse(Produc) #Estimate Geolocation of states to account for spill over effects states_df <- data.frame(as.character(unique(Produc$state))) names(states_df)<- c("state") state_geo_df <- mutate_geocode(states_df, state) #from ggmap #Join the data Product_geo <- full_join(state_geo_df, Produc) glimpse(Product_geo) #Create the time series variable #number of state ns <- length(unique(Product_geo$state)) #number of year ny <- length(unique(Product_geo$year)) #################################################### # I want to do Spatio-Temporal Bayesian Modeling Using spTimer or spTDyn #defines the time series in the Spatio-temporal framework ts_STD <- def.time(t.series=ns, segments=ny) ##################Estimate the model using spTDyn package #Note spT.Gibbs in spTimer gives the same error GibbsDyn(gsp ~ pcap + hwy + water + util + pc , data=Product_geo, model="GP", time.data=ts_STD, coords=~lon + lat, nItr=5000, nBurn=1000, report=1, tol.dist=0.05, distance.method="geodetic:km", cov.fnc="exponential", spatial.decay=decay(distribution="FIXED"),truncation.para=list(at=0,lambda=2)) #Also how to deal with unbalanced panel #Delete some of the rows Product_geo$cond = with(Product_geo, if_else(state=="ALABAMA" & year==1971, 0, if_else(state=="COLORADO" & year==1971 | year==1973 , 0, if_else(state=="TEXAS" & year==1971 | year==1973 | year==1985, 0, 1)))) Product_geo_unb <- Product_geo %>% filter(cond==1) %>% select(-cond) glimpse(Product_geo_unb) #How to use GibbsDyn or spT.Gibbs for such unbalanced panel data to estimate the Bayesian Gaussian Process (GP) Model? _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo