[R-sig-Geo] Spatial Panel Models Problem (Splm package)
felipe tavares
ft@v@re@29 @ending from gm@il@com
Mon May 7 17:02:09 CEST 2018
Hi Roger.
First of all, thank for your help.
Yes, my first two colums are year and id (identification for cities).
I really do not understand, because with the same data I run the regression
in Stata.
There is my full code:
""
# Data
data <- read.xlsx("RJ_database.xlsx", 1, header = TRUE)
panel <- pdata.frame(data, index = c("id", "year"))
time <- length(unique(data$year)) #Salving data time length
pdim(panel)
summary(panel)
poly <- readOGR(dsn ="C:/Users/user/OneDrive/Resource Policy Paper", layer
= "RJ") #Desktop
RJ <- poly2nb(poly)
W <- nb2listw(RJ, style = "W", glist = NULL)
summary(W)
### Kronecker Product
kronecker.W <- listw2dgCMatrix(W)
W_queen2 <- kronecker(Diagonal(time), kronecker.W)
W_queen <- mat2listw(W_queen2, style = "W")
SAR <- spml(gdp ~ oivrev, listw = rjq, model="within", spatial.error= NULL,
lag = TRUE, data=panel)
summary(W_queen)
str(panel)
OLS <- plm(gdp ~ oivrev, model = "within", data = panel)
summary(OLS)
""
And, weird the most is when I run OLS model panel works.
Could you try in your own R to check it out?
Thank you.
On Sat, May 5, 2018 at 7:35 AM, Roger Bivand <Roger.Bivand at nhh.no> wrote:
> On Sat, 5 May 2018, felipe tavares wrote:
>
> Good evening.
>>
>> I am trying to estimate a spatial panel data model through splm package.
>>
>> I am facing the error: Error in lag.listw(listw, u, zero.policy =
>> zero.policy) :
>> object lengths differ
>>
>> However, my W matrix is NxN, my y vector is NTx1 and my X matrix is NTxK.
>>
>> My code is:
>> poly <- readOGR(dsn ="C:/Users/fstavares/OneDrive/Resource Policy Paper",
>> layer = "RJ")
>> RJ <- poly2nb(poly)
>> W <- nb2listw(RJ, zero.policy = TRUE, style = "W", glist = NULL)
>> SEM <- spml(gdp ~ oivrev, listw = W, model="within", spatial.error="b",
>> lag=F, data=panel)
>>
>>
> Are the first two columns of panel as required (from ?spml):
>
> data: an object of class ‘data.frame’ or ‘pdata.frame’. A data
> frame containing the variables in the model. When the object
> is a ‘data.frame’, the first two columns shall contain the
> indexes, unless otherwise specified. See ‘index’
>
> From ?index
>
> Panel data are stored in a ‘"pdata.frame"’ which has an ‘"index"’
> attribute. Fitted models in ‘"plm"’ have a ‘"model"’ element which
> is also a ‘"pdata.frame"’ and therefore also has an ‘"index"’
> attribute. Finally, each series, once extracted from a
> ‘"pdata.frame"’, becomes of class ‘"pseries"’, which also has this
> ‘"index"’ attribute. ‘"index"’ methods are available for all
> these objects. The argument ‘"which"’ indicates which index
> should be extracted. If ‘which = NULL’, all indexes are extracted.
> ‘"which"’ can also be a vector of length 1, 2, or 3 (3 only if the
> pdata frame was constructed with an additional group index)
> containing either characters (the names of the individual variable
> and/or of the time variable and/or the group variable or ‘"id"’
> and ‘"time"’) and ‘"group"’ or integers (1 for the individual
> index, 2 for the time index, and 3 for the group index (the latter
> only if the pdata frame was constructed with such).)
>
> and:
>
> str(Produc)
>>
> 'data.frame': 816 obs. of 11 variables:
> $ state : Factor w/ 48 levels "ALABAMA","ARIZONA",..: 1 1 1 1 1 1 1 1 1 1
> ...
> $ year : int 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 ...
> $ region: Factor w/ 9 levels "1","2","3","4",..: 6 6 6 6 6 6 6 6 6 6 ...
> $ pcap : num 15033 15502 15972 16406 16763 ...
> $ hwy : num 7326 7526 7765 7908 8026 ...
> $ water : num 1656 1721 1765 1742 1735 ...
> $ util : num 6051 6255 6442 6756 7002 ...
> $ pc : num 35794 37300 38670 40084 42057 ...
> $ gsp : int 28418 29375 31303 33430 33749 33604 35764 37463 39964
> 40979 ...
> $ emp : num 1010 1022 1072 1136 1170 ...
> $ unemp : num 4.7 5.2 4.7 3.9 5.5 7.7 6.8 7.4 6.3 7.1 ...
>
> with the individual column first varying slowly, and the time column
> second varying within the first column values. Since you do not provide a
> reproducible example (not your data and code, an example using built-in
> data), it is hard to know.
>
> Hope this clarifies,
>
> Roger
>
>
>
>> Does anyone have faced this problem?
>>
>> I can send database and code, if it somebody can help me.
>>
>>
>>
>>
>>
> --
> Roger Bivand
> Department of Economics, Norwegian Sc
> <https://maps.google.com/?q=Norwegian+Sc&entry=gmail&source=g>hool of
> Economics,
> Helleveien 30, N-5045 Bergen, Norway.
> voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no
> http://orcid.org/0000-0003-2392-6140
> https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
--
Att,
Felipe Tavares
Bacharel em Ciências Econômicas - UFSCar
Mestrando em Economia Aplicada - ESALQ/USP
Analista Pricing - ALLIED Technology
Telefone:
(011) 97468-0833
e-mail:
ftavares29 at gmail.com
f <ftavares29 at usp.br>stavares at alliedbrasil.com.br
[[alternative HTML version deleted]]
More information about the R-sig-Geo
mailing list