Skip to content

Error using predict.sarlm

2 messages · Chiedza Machingaidze, Roger Bivand

#
I am running the following code:
Error in predict.sarlm(m1s, newdata = " geodata ", listw = shpw )

and getting the following error:
Error in predict.sarlm(m1s, newdata = "geodata", listw = shpw,  :
  newdata should have region.id as row.names

I did a search and found a post about the same problem:
http://r-sig-geo.2731867.n2.nabble.com/Error-while-using-predict-sarlm-td7592817.html


So, per the post, I have ensured that region.id matches row names:
chr [1:74] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14"
"15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29"
"30" "31" "32" "33" ...
chr [1:74] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14"
"15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29"
"30" "31" "32" "33" ...
all(row.names(geodata at data) %in% attr( geodatanb, "region.id"))
[1] TRUE

Unfortunately, I'm still getting the error.

Could anyone offer any further assistance?

Thank you,
Chi
#
On Tue, 25 Feb 2020, Chiedza Machingaidze wrote:

            
Please try to provide a reproducible example, such as:

data(oldcol, package="spdep")
lw <- spdep::nb2listw(COL.nb)
COL.mix.eig <- lagsarlm(CRIME ~ INC + HOVAL, data=COL.OLD, lw, Dubin=TRUE)
predict(COL.mix.eig, newdata="COL.OLD", listw=lw)
#Error in predict.sarlm(COL.mix.eig, newdata = "COL.OLD", listw = lw) :
#  newdata should have region.id as row.names

If this corresponds to your case, why is the newdata= object in quotation 
marks?

Please try to post plain text only, HTML makes it harder to read code.

Hope this clarifies,

Roger