# install.packages("spatstat", dep=T) require(spatstat) ## Carregando um conjunto de dados data(swedishpines) X <- swedishpines plot(X) summary(X) ## Contagem de Quadrats Q <- quadratcount(X, nx = 4, ny = 3) Q plot(X) plot(Q, add = TRUE, cex = 2) QT <- quadrat.test(X, nx = 4, ny = 3) plot(X) plot(QT, add = TRUE, cex = 2) QT ## Funções G e F Gc <- Gest(X) Gc par(pty = "s") plot(Gc) Fc <- Fest(X) Fc par(pty = "s") plot(Fc) ## Estimação de densidade (kernel) class(X) plot(density(X, 10)) contour(density(X, 10), axes = FALSE) persp(density(X, 10), axes = FALSE) image(density(X, 10), axes = FALSE) ## ## Usando outro pacote: splancs - kernel2d ## install.packages("splancs", dep=T) require(splancs) data(bodmin) plot(bodmin, asp=1) plot(bodmin$poly, asp=1, type="n") image(kernel2d(as.points(bodmin), bodmin$poly, h0=2, nx=100, ny=100), add=TRUE, col=terrain.colors(20)) contour(kernel2d(as.points(bodmin), bodmin$poly, h0=2, nx=100, ny=100), add=TRUE, col=terrain.colors(20)) pointmap(as.points(bodmin), add=TRUE, pch=19) polymap(bodmin$poly, add=TRUE, lwd=2) persp(kernel2d(as.points(bodmin), bodmin$poly, h0=2, nx=100, ny=100), add=TRUE, col=terrain.colors(20)) ## ## Função K ## Kc <- Kest(X) Kc par(pty = "s") plot(Kc) plot(Kest(rpoispp(50))) plot(rpoispp(150)) data(cells) plot(cells) E <- envelope(cells, Kest, nsim = 39, rank = 1) E plot(E, main = "Envelopes pontuais") E <- envelope(cells, Kest, nsim = 19, rank = 1, global = TRUE) plot(E, main = "envelopes globais") 0.00 0.05 ## ## Usando outro pacote: package spatial - Fç K para processo pontual ## require(spatial) towns <- ppinit("towns.dat") par(pty="s") plot(Kfn(towns, 40), type="b") plot(Kfn(towns, 10), type="b", xlab="distance", ylab="L(t)") for(i in 1:10) lines(Kfn(Psim(69), 10)) lims <- Kenvl(10,100,Psim(69)) lines(lims$x,lims$l, lty=2, col="green") lines(lims$x,lims$u, lty=2, col="green") lines(Kaver(10,25,Strauss(69,0.5,3.5)), col="red") ## ## Outro pacote: splancs - Função K ## require(splancs) data(cardiff) plot(cardiff, asp=1) UL.khat <- Kenv.csr(length(cardiff$x), cardiff$poly, nsim=29, seq(2,30,2)) plot(seq(2,30,2), sqrt(khat(as.points(cardiff), cardiff$poly, seq(2,30,2))/pi)-seq(2,30,2), type="l", xlab="Splancs - polygon boundary", ylab="Estimated L", ylim=c(-1,1.5)) lines(seq(2,30,2), sqrt(UL.khat$upper/pi)-seq(2,30,2), lty=2) lines(seq(2,30,2), sqrt(UL.khat$lower/pi)-seq(2,30,2), lty=2) ## Outros dados no spatstat data(package="spatstat") data(cells) data(redwood) data(japanesepines) data(redwoodfull) data(spruces) data(urliola) plot(redwood) data(redwoodfull) plot(redwoodfull) redwoodfull.extra$plot() ## ## Exemplo 7: spatstats - simulações de processos ## XP <- rpoispp(100) plot(XP) plot(Gest(XP)) X <- rThomas(15, 0.2, 5) plot(X) plot(Gest(X)) pp <- rSSI(0.05, 200) plot(pp) plot(Gest(pp)) XX <- clickppp(40) data(letterR) plot(rpoispp(100, win = letterR)) ## data(bei) plot(bei) quadratcount(bei, nx = 4, ny = 2) Q <- quadratcount(bei, nx = 6, ny = 3) plot(bei, cex = 0.5, pch = "+") plot(Q, add = TRUE, cex = 2) den <- density(bei, sigma = 70) plot(den) plot(bei, add = TRUE, cex = 0.5) persp(den) contour(den) pairdist(X) nndist(X) distmap(X) plot(distmap(X))