[R-sig-Geo] SPLM sphtest Hausman test not working with Maximum Likelihood

Patrick Meyfroidt patrick.meyfroidt at uclouvain.be
Fri Feb 28 15:07:34 CET 2014


Thanks Roger, and sorry. 

My code and data are a bit long to put here, but thanks to Caleb Gallemore which had a similar problem, I can post here a test code that he made for students, which uses data from Ecdat package. 

This code below, as well as my code, were tested with:
R 2.15.1 and splm_1.1-0 (the current stable version)
and R 3.0.2 and splm_1.2-0 (the development version)

I hope that this addresses your rightful concerns,

Now, if anyone has a suggestion (other than moving to Matlab..), that would be very welcome? 

Patrick 


# CODE OF REPRODUCIBLE EXAMPLE:
#-------------------------------------------------------------------------------

#FOR THIS LAB, WE WILL BE USING A BUILT-IN DATA PACKAGE IN R.  WE'RE GOING TO BE 
#ADHERING PRETTY CLOSELY TO THE APPROACH USED IN THE ARTICLE ON SPATIAL PANEL MODELS
#YOU LOOKED AT FOR CLASS.
install.packages("Ecdat") #THIS IS WHERE THE DATA ARE FOUND.
library(Ecdat)
install.packages("plm") #THIS IS THE PANEL MODEL PACKAGE
library(plm)
 
#THE DATA WE WILL BE USING IS DATA ON ECONOMIC PRODUCTIVITY IN THE UNITED STATES.
data(Produc) #THIS IS THE DATA
 
#MAYBE IT'S TIME FOR THE SPATIAL PANEL MODEL!
#IN ADDITION TO THE PACKAGES WE USED FOR THE PANEL MODEL, WE'LL NEED THESE:
install.packages("splm") #THIS IS THE SPATIAL PANEL MODEL PACKAGE
library(splm)
install.packages("spdep") #TO HELP US WITH OUR SPATIAL DATA
library(spdep)
 
#THE Ecdat LIBRARY CONVENIENTLY HAS A NEIGHBOR'S MATRIX FOR CONTIGUOUS US STATES:
data(usaww) #THIS IS THE ROW-STANDARDIZED QUEEN'S CASE CONTIGUITY WEIGHTS MATRIX FOR 
#THE CONTIGUOUS US STATES
 
prod.panel <- pdata.frame(Produc, index = c("state", "year"))
 
#FIRST, LET'S CONVERT THAT REGULAR MATRIX INTO A SPATIAL WEIGHTS MATRIX:
usa.sp <- mat2listw(usaww) #JUST WHAT IT SOUNDS LIKE; TURNS A MATRIX INTO A SPATIAL
#WEIGHTS MATRIX.
 
#OKAY, SO THESE SUGGEST WE HAVE SOME ISSUES WITH SPATIAL AUTOCORRELATION AND 
#INDIVIDUAL EFFECTS.  BUT WE STILL NEET TO DETERMINE WHETHER WE CAN USE FIXED OR
#RANDOM EFFECTS.  FORTUNATELY, WE HAVE A SPATIAL VERSION OF THE HAUSMAN TEST TO 
#HELP US WITH THIS:
prod.fm <- log(gsp) ~ 1 + log(pcap) + log(pc) + log(emp)
sphtest(prod.fm, 
        data=prod.panel,
        listw=usa.sp,
        spatial.model="sarar",
        method="ML"
        ) 

# HERE IS THE PROBLEM: THE TEST RETURNS: 
# "Error in match.arg(spatial.error) :   'arg' must be NULL or a character vector"

# JUST TO CHECK: THE RANDOM EFFECTS AND FIXED EFFECTS MODELS DO WORK PROPERLY:
prod.fm.rd <- spml(formula = prod.fm, 
			data = prod.panel, 
			listw = usa.sp, 
			listw2 = usa.sp, 
			model = "random", 
			effect = "individual", 
			lag = TRUE, 
			spatial.error = "b")
summary.splm(prod.fm.rd)
prod.fm.fe <- spml(formula = prod.fm, 
			data = prod.panel, 
			listw = usa.sp, 
			listw2 = usa.sp, 
			model = "within", 
			effect = "individual", 
			lag = TRUE, 
			spatial.error = "b")
summary.splm(prod.fm.fe)

#-------------------------------------------------------------------------------




________________________________________
De : Roger Bivand <Roger.Bivand at nhh.no>
Envoyé : mardi 25 février 2014 15:11
À : Patrick Meyfroidt
Cc : r-sig-geo at r-project.org
Objet : Re: [R-sig-Geo] SPLM sphtest Hausman test not working with Maximum Likelihood

On Tue, 25 Feb 2014, Patrick Meyfroidt wrote:

> Dear List,
>
> I have a problem using splm package: across various datasets and models,
> the sphtest function never works when I try to calculate the Hausman
> test with a model using Maximum Likelihood. I always receive the
> following error message:
>
> Error in match.arg(spatial.error) :
>  'arg' must be NULL or a character vector
>
> I see that several other people posted the same problem before, but
> apparently there was not solution proposed on the list: in September
> 2011:
> https://stat.ethz.ch/pipermail/r-sig-geo/2011-September/012826.html and
> in May 2013:
> https://stat.ethz.ch/pipermail/r-sig-geo/2013-May/018256.html
>
> Does anyone have a solution?

Please never guess, it only misleads you and readers of your posting.

Please always state the output of sessionInfo() - we don't know which
version of splm you are using.

Please always include a reproducible example of the code leading to the
error with a built in data set.

Do check that the problem is not already resolved in the development
version on R-forge, here:

https://r-forge.r-project.org/R/?group_id=352

>
> Thank you very much,
>
>
> Patrick Meyfroidt ------ F.R.S. - FNRS and Universit? catholique de
> Louvain - UCLouvain
>
>
>       [[alternative HTML version deleted]]

Finally, do not post HTML, much of the extensive carbon footprint of lists
like this comes from scanning HTML postings for unwanted and/or dangerous
payloads.

Hope this helps,

Roger

>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

--
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no




More information about the R-sig-Geo mailing list