[R] Spatial: number of independent components?
Daniel Malter
daniel at umd.edu
Mon Jun 21 21:00:05 CEST 2010
I was missing the spam library.
I did some testing with m x m matrices (see below). Computing 'a' is the
villain. The computation time for 'a' is exponential in m. For a 100 by 100
matrix, the predicted time is about 20 seconds. Thus, 100,000 runs, would
take about 23 days.
library(igraph)
library(spdep)
library(spam)
d=5:40
tim1=NULL
tim2=NULL
tim3=NULL
for(i in 1:length(d)){
x=rbinom(d[i]^2,1,0.5)
dim(x)=c(d[i],d[i])
tim1[i]=system.time(
a <- as.spam.listw(nb2listw(cell2nb(nrow(x),ncol(x),torus=T),
style="B"))
)[3]
tim2[i]=system.time(
g <- delete.vertices(graph.adjacency(a), which(x!=1)-1)
)[3]
tim3[i]=system.time(
clusters(g)
)[3]
}
reg=lm(log(tim1)~log(d))
par(mfcol=c(1,2))
plot(log(tim1)~log(d))
lines(x=log(d),y=coef(reg)[1]+coef(reg)[2]*log(d),type="l")
plot(tim1~d)
lines(x=d,y=exp(coef(reg)[1]+coef(reg)[2]*log(d)),type="l")
#estimated time for a 100 by 100 matrix
exp(predict(reg,newdata=data.frame(d=100)))
#observed time for a 100 by 100 matrix
d=100
x=rbinom(d^2,1,0.5)
dim(x)=c(d,d)
system.time(a <- as.spam.listw(nb2listw(cell2nb(nrow(x),ncol(x),torus=T),
style="B")))
Best,
Daniel
--
View this message in context: http://r.789695.n4.nabble.com/Spatial-number-of-independent-components-tp2262018p2263168.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list