Hello, I would greatly appreciate some help on this. Any tips are more than welcome.
I'm trying to obtain the log-likelihood at the optimum parameter values using spml() from the splm package. The created fit object contains a slot called "logLik" which is supposed to have that value but I find it to be empty. However, when I allow all the verbiage to be printed (quiet=F), the function prints all the MLE iterations with the values of the likelihood function each time... but somehow the last value is not stored. Is this a bug in the function? I'm looking for a way to to obtain the logLik value automatically and any ideas would be appreciated (even on how to capture the last line of the returned text if need be). Thanks in advance for the help! Ariel #### Reproducible code below ######## # Load pacakge library(splm) # Generate spatial object temp <- expand.grid(lon=1:10, lat=1:10 ) temp$id <- 1:dim(temp)[1] rownames(temp) <- 1:dim(temp)[1] n <- dim(temp)[1] mylist <- vector('list', n) for(i in 1:n) { mylist[[i]] = Polygons(list(Polygon( cbind( c(temp[i,"lon"]-0.5, temp[i,"lon"]-0.5, temp[i,"lon"]+0.5, temp[i,"lon"]+0.5, temp[i,"lon"]-0.5), c(temp[i,"lat"]-0.5,temp[i,"lat"]+0.5,temp[i,"lat"]+0.5,temp[i,"lat"]-0.5,temp[i,"lat"]-0.5)))),i) } map <- SpatialPolygons(mylist, 1:n) map <- SpatialPolygonsDataFrame(map, temp) plot(map) rm(temp,i,mylist) # Generate weight matrix/neighbor lists dmatrix <- spDists(map) coords <- coordinates(map) nb<- poly2nb(map, queen=TRUE) # contiguity queen neighbors plot(map, lwd=0.1, col="cornsilk") plot(nb , coordinates(map), add=T, col="blue") dlist <- nbdists(nb, coords) idlist <- lapply(dlist, function(x) 1/x) # inverse distance nbw <- nb2listw(nb, glist=idlist , style="W") # inverse distance # Generate fake data years <- 1993:1996 dataset <- data.frame( id = as.numeric(paste(map@data$id)), year=rep(years, each=n) ) dataset$X <- rnorm(length(years)*n, mean=10, sd=5) dataset$a <- rep(rnorm(n,mean=50,sd=sqrt(30)), times=length(years)) dataset$y <- dataset$X * 1 + dataset$a + rnorm(4*20, mean=0, sd=2) # Run model fit <- spml(formula = y ~ X , data = dataset, model="within", effect=c("individual"), index = c("id","year"), listw = nbw, lag = FALSE, spatial.error = "b", quiet=F) # Check results summary(fit) fit$logLik # nothing was stored there. ----- Ariel Ortiz-Bobea PhD Candidate in Agricultural & Resource Economics University of Maryland - College Park -- View this message in context: http://r-sig-geo.2731867.n2.nabble.com/spml-and-logLik-help-tp7581581.html Sent from the R-sig-geo mailing list archive at Nabble.com. _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo