Processos Pontuais

1 Exemplo

###################################################
#### Aula Computacional de Processos Pontuais ####
###################################################

library(spatstat)
library(splancs)

###################################################
# Método dos quadrantes 
###################################################

# Nas bibliotecas spatstat e splancs há alguns conjuntos de dados.
# Usaremos o conjunto cardiff, que é um padrão de pontos que fornece 
# as localizações das casas de 168 jovens infratores 
# em um conjunto habitacional de Cardiff.
data(cardiff)
dados       = as.ppp(cardiff)

# Plotando os pontos e o polígono da regiao D
#plot(cardiff$poly, asp=1, type="n")
plot(cardiff$poly, type="n", bty="n")
points(as.points(cardiff),pch="*")
polymap(cardiff$poly,add=TRUE,border="grey",lwd=4,lty=3)

# Definicao dos quadrantes
nx          = 5
ny          = 5
quadrantes1 = quadratcount(dados,nx=nx,ny=ny)    
quadrantes1 
##              x
## y             [2.35,20.7) [20.7,39) [39,57.3) [57.3,75.7) [75.7,94]
##   [77.1,94.8]           1        20        16          11         8
##   [59.5,77.1)           0        11         9           3         0
##   [41.8,59.5)           2         7         8          10         7
##   [24.2,41.8)           7         8        14           8         3
##   [6.49,24.2)           0         7         5           3         0
# Plotando os dados e os quadrantes
par(mar=c(0,0,0,0))
plot(cardiff,pch="+",main="")
plot(quadrantes1,add=TRUE, col="red", cex=1.5, lty=2,border="red")

plot(cardiff$poly, bty="n", type="n")
points(as.points(cardiff),pch="*")
polymap(cardiff$poly,add=TRUE,border="gray80",lwd=3,lty=3)
plot(quadrantes1,add=TRUE, col="red", cex=1.5, lty=2,border="red")

# Teste de quadrantes para CSR
t_quadrantes <- quadrat.test(dados,nx=nx,ny=ny)    
t_quadrantes
## 
##  Chi-squared test of CSR using quadrat counts
## 
## data:  dados
## X2 = 97.476, df = 24, p-value = 1.613e-10
## alternative hypothesis: two.sided
## 
## Quadrats: 5 by 5 grid of tiles
t_quadrantes$p.value
## [1] 1.613223e-10
c(qchisq(0.95,nx*ny-1), t_quadrantes$statistic)
##                X2 
## 36.41503 97.47619
#########################################################
# ICS (Indice de tamanho de cluster):
#########################################################
#obtendo o número médio de árvores encontradas em uma região com área 
#igual a dos quadrantes
media1      = mean(quadrantes1)
media1
## [1] 6.72
#obtendo a variância
variancia1  = sum((quadrantes1 - media1)^2/(nx*ny-1))
variancia1
## [1] 27.29333
#outra forma de calcular a variância
var(as.vector(quadrantes1))
## [1] 27.29333
#calculando o ICS
ICS         = (variancia1/media1) - 1
ICS
## [1] 3.061508
#como ICS maior que zero, há indícios de haver aglomeração

#########################################################
# Intensidade estimada em cada quadrante: lambda_i
#########################################################
#obtendo a área de cada quadrante
(max(dados$x)-min(dados$x))/nx
## [1] 18.328
(max(dados$y)-min(dados$y))/ny
## [1] 17.664
quadrantes1
##              x
## y             [2.35,20.7) [20.7,39) [39,57.3) [57.3,75.7) [75.7,94]
##   [77.1,94.8]           1        20        16          11         8
##   [59.5,77.1)           0        11         9           3         0
##   [41.8,59.5)           2         7         8          10         7
##   [24.2,41.8)           7         8        14           8         3
##   [6.49,24.2)           0         7         5           3         0
i = 1
j = 1
names(quadrantes1[1,])[i]
## [1] "[2.35,20.7)"
names(quadrantes1[,1])[j]
## [1] "[77.1,94.8]"
area = (20.7-2.35)*(94.8-77.1)
area
## [1] 324.795
quadrantes1[i,j]/area
## [1] 0.003078865
intensity(quadrantes1)[i,j]
## [1] 0.003088843
i = 3
j = 1
names(quadrantes1[1,])[i]
## [1] "[39,57.3)"
names(quadrantes1[,1])[j]
## [1] "[77.1,94.8]"
area = (57.3-39)*(94.8-77.1)
area
## [1] 323.91
quadrantes1[i,j]/area
## [1] 0.006174555
intensity(quadrantes1)[i,j]
## [1] 0.006177686
#obtendo a intensidade em cada quadrante
intensity(quadrantes1)
##              x
## y             [2.35,20.7)   [20.7,39)   [39,57.3) [57.3,75.7)   [75.7,94]
##   [77.1,94.8] 0.003088843 0.061776865 0.049421492 0.033977276 0.024710746
##   [59.5,77.1) 0.000000000 0.033977276 0.027799589 0.009266530 0.000000000
##   [41.8,59.5) 0.006177686 0.021621903 0.024710746 0.030888432 0.021621903
##   [24.2,41.8) 0.021621903 0.024710746 0.043243805 0.024710746 0.009266530
##   [6.49,24.2) 0.000000000 0.021621903 0.015444216 0.009266530 0.000000000
#visualizando essas quantidades
par(mar=c(0,0,0,2))
plot(intensity(quadrantes1, image=TRUE), main="", 
     col=terrain.colors(256))
polymap(cardiff$poly,add=TRUE,border="black",lwd=3,lty=3)

##############################
#   Intensidade via Kernel   #
##############################

tau = 5 
lambda <- kernel2d(as.points(cardiff), cardiff$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0.8 95.6 
## Yrange is  4.8 97.4 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(cardiff),pch="*",add=TRUE,cex=0.75)

tau = 10 
lambda <- kernel2d(as.points(cardiff), cardiff$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0.8 95.6 
## Yrange is  4.8 97.4 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(cardiff),pch="*",add=TRUE,cex=0.75)

tau = 20 
lambda <- kernel2d(as.points(cardiff), cardiff$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0.8 95.6 
## Yrange is  4.8 97.4 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(cardiff),pch="*",add=TRUE,cex=0.75)

n = length(cardiff$x)
n
## [1] 168
tau = 0.68*(n^(-0.2))
tau
## [1] 0.2440322
lambda <- kernel2d(as.points(cardiff), cardiff$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0.8 95.6 
## Yrange is  4.8 97.4 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(cardiff),pch="*",add=TRUE,cex=0.75)

############################
#   Vizinho mais próximo   #
############################


# Função G

dists <- nndistG(as.points(cardiff))
dists                                                     
## $dists
##   [1] 13.9992071  4.0067069  1.6570154  1.6570154  1.8300000  3.1918803
##   [7]  3.1918803  1.1292475  1.6181780  3.9772352  3.1465855  1.0135581
##  [13]  1.0135581  2.2217111  2.2217111  1.3559130  1.1684605  1.1684605
##  [19]  1.6633100  1.6633100  0.8700000  0.8700000  0.8984431  1.4038875
##  [25]  0.8955445  0.6811755  0.6811755  1.7861971  1.8064606  1.8064606
##  [31]  0.8994443  0.8994443  2.1600000  1.7861971  1.6648123  1.1346365
##  [37]  1.1346365  3.1287857  5.3049505  2.1239821  0.7900000  0.9080198
##  [43]  0.7900000  0.8984431  0.8984431  2.2447494  1.1684605  1.1684605
##  [49]  3.3942599  1.6181780  4.3340166  1.7901117  2.5347584  2.0306649
##  [55]  2.0306649  1.8977091  1.8977091  2.6100000  2.6100000  7.6735520
##  [61]  6.8442458  8.4212410  4.4617485  3.8086481  4.1046559  2.3973319
##  [67]  2.3973319  1.1610340  1.1610340  1.1384639  1.1384639  1.1610340
##  [73]  2.6702996  3.7522527  3.4080053  3.4080053  3.9086571  3.9086571
##  [79]  6.7430705  1.1292475  2.2389730  4.1268026  4.1268026  4.0508024
##  [85]  1.6648123  1.6648123  1.8384776  1.8384776  1.6648123  1.6648123
##  [91]  2.2600221  6.9348180  2.2600221  1.3559130  1.3559130  3.1598101
##  [97]  1.6710775  1.1346365  0.7800000  0.7800000  0.7800000  0.7800000
## [103]  0.4300000  0.4300000  0.6747592  0.6747592  1.0187247  1.4001428
## [109]  1.4001428  6.3105071  3.1465855  3.7055229  1.6648123  1.6648123
## [115]  2.3093289  3.4125943  3.4125943  4.2847754  2.0237095  1.1610340
## [121]  1.1610340  2.8309892  4.1734638  1.5160475  1.5160475  1.6710775
## [127]  1.6710775  2.8002857  5.6619785  1.1253888  1.1253888  1.1684605
## [133]  1.1684605  2.9181158  2.9181158  2.7511816  2.7511816  3.6400549
## [139]  3.6400549  4.1734638  5.0082831  2.0185391  2.0185391  7.5106990
## [145]  1.8701069  1.8701069  1.5160475  0.2600000  0.2600000  1.3559130
## [151]  1.3559130  3.1312937  3.0056114  1.5670673  1.5670673  4.1734638
## [157]  3.8148263  1.4001428  1.4001428  3.5468296  5.1864535  3.1312937
## [163]  3.0128060  3.0056114  1.5700000  0.9080198  0.9080198  0.9080198
## 
## $neighs
##   [1]   2   4   4   3   4   7   6  80  50   9  12  13  12  15  14  17  18  17
##  [19]  20  19  22  21  22  23  27  27  26  34  28  29  32  31  34  28  36  37
##  [37]  36  37  40  41  43  43  41  45  44  47  48  47  48   9  49   9  54  55
##  [55]  54  57  56  59  58  57  63  61  64  67  64  67  66  69  68  71  70  71
##  [73]  72  76  76  75  78  77  77   8  80  83  82  85  86  85  88  87  90  89
##  [91]  90  91  94  95  94  95  99  99 100  99 102 101 104 103 106 105 106 109
## [109] 108 111 114 111 114 113 104 117 116 160 120 121 120 121 156 125 124 127
## [127] 126 127 147 131 130 133 132 135 134 137 136 139 138 139 140 143 142 143
## [145] 146 145 148 149 148 151 150 164 164 155 154 123 158 159 158 158 118 163
## [163] 164 153 168 168 166 166
maximo <- max(dists$dists)
minimo <- min(dists$dists)
w <- seq(minimo,maximo,by=((maximo - minimo)/100))

## o comando Ghat recebe 2 parâmetros, o primeiro o objeto pontos, 
## o segundo um vetor com a lista de distâncias onde se estima a função G

funcao_G <- Ghat(as.points(cardiff),w)
par(mar=c(4,4,0.5,0.5))
plot(w,funcao_G,type="l",xlab="distâncias", ylab="G estimada",col=4,lwd=2)

# Função F

dists2 <- nndistF(as.points(csr(cardiff$poly, length(cardiff$x))), as.points(cardiff))
maximo <- max(dists2)
minimo <- min(dists2)
x <- seq(minimo,maximo,by=((maximo - minimo)/100))
funcao_F <- Fhat(as.points(csr(cardiff$poly, length(cardiff$x))), as.points(cardiff),x)
plot(x,funcao_F,type="l", xlab="distâncias", ylab="F estimada",col=3,lwd=2)

#Função G x F
plot(funcao_G, funcao_F, type="l", xlab="G estimada", ylab="F estimada",lwd=2)
abline(0,1,lty=2,col=2,lwd=2)

############################
#        Função K          #
############################


h <- seq(0,30,1)
funcaoK<-khat(as.points(cardiff), cardiff$poly, h)
funcaoL<- sqrt(funcaoK/pi) - h

m <- 99
funcaoK.i<-matrix(NA,length(h),m)
funcaoL.i<-matrix(NA,length(h),m)
for (i in 1:m) {
  y<-as.points(csr(cardiff$poly, length(cardiff$x)))
  funcaoK.i[,i]<- khat(y, cardiff$poly, h)
  funcaoL.i[,i]<- sqrt(funcaoK.i[,i]/pi) - h
}
env.sup<-0
for (i in 1:length(h)) {
  env.sup[i]<-max(funcaoL.i[i,])
}
env.inf<-0
for (i in 1:length(h)) {
  env.inf[i]<-min(funcaoL.i[i,])
}

par(mar=c(4.5,4.5,0.5,0.5))
plot(h,funcaoL, type="l", xlab="Distâncias", lwd=2, ylab=expression(hat(L)(h)),ylim=c(-1,1.4))
lines(h,rep(0,length(h)),lty=2,col=2,lwd=2)
lines(h,env.sup,lty=3,col=4,lwd=2)
lines(h,env.inf,lty=3,col=4,lwd=2)

2 Exercício

###################################################
#### Aula Computacional de Processos Pontuais ####
###################################################

#Carregando os pacotes
library(spatstat)
library(splancs)

#Simulando um conjunto de dados
n     = 1000 
x     = runif(n, 0, 5)
y     = runif(n, 0, 5)
dados = list(x = x,
            y = y,
            area = c(xl = 0, xu = 5, yl = 0, yu = 5),
            poly = as.matrix(data.frame(x = c(5, 5, 0, 0),
                                        y = c(5, 0, 0, 5))))

dados2 = as.ppp(dados)
#dados2 = ppp(x, y, window = owin(c(0, 5), c(0, 5)))

###################################################
# Método dos quadrantes 
###################################################

# Plotando os pontos e o polígono da regiao D
plot(dados$poly, type="n", bty="n")
points(as.points(dados),pch="*")
polymap(dados$poly,add=TRUE,border="grey",lwd=4,lty=3)

# Definicao dos quadrantes
nx          = 5
ny          = 5
quadrantes1 = quadratcount(dados2,nx=nx,ny=ny)    
quadrantes1 
##        x
## y       [0,1) [1,2) [2,3) [3,4) [4,5]
##   [4,5]    42    44    42    42    45
##   [3,4)    31    42    34    32    35
##   [2,3)    42    43    39    47    45
##   [1,2)    37    39    29    53    38
##   [0,1)    37    37    46    40    39
# Plotando os dados e os quadrantes
par(mar=c(0,0,0,0))
plot(dados,pch="+",main="")
plot(quadrantes1,add=TRUE, col="red", cex=1.5, lty=2,border="red")

plot(dados$poly, bty="n", type="n")
points(as.points(dados),pch="*")
polymap(dados$poly,add=TRUE,border="gray80",lwd=3,lty=3)
plot(quadrantes1,add=TRUE, col="red", cex=1.5, lty=2,border="red")

# Teste de quadrantes para CSR
t_quadrantes <- quadrat.test(dados2,nx=nx,ny=ny)    
t_quadrantes
## 
##  Chi-squared test of CSR using quadrat counts
## 
## data:  dados2
## X2 = 17.75, df = 24, p-value = 0.3701
## alternative hypothesis: two.sided
## 
## Quadrats: 5 by 5 grid of tiles
t_quadrantes$p.value
## [1] 0.3700705
#c(qchisq(0.95,nx*ny-1), t_quadrantes$statistic)

#########################################################
# ICS (Indice de tamanho de cluster):
#########################################################
#obtendo o número médio de árvores encontradas em uma região com área 
#igual a dos quadrantes
media1      = mean(quadrantes1)
media1
## [1] 40
#obtendo a variância
variancia1  = sum((quadrantes1 - media1)^2/(nx*ny-1))
variancia1
## [1] 29.58333
#outra forma de calcular a variância
var(as.vector(quadrantes1))
## [1] 29.58333
#calculando o ICS
ICS         = (variancia1/media1) - 1
ICS
## [1] -0.2604167
#como ICS maior que zero, há indícios de haver aglomeração

#########################################################
# Intensidade estimada em cada quadrante: lambda_i
#########################################################
#obtendo a intensidade em cada quadrante
intensity(quadrantes1)
##        x
## y       [0,1) [1,2) [2,3) [3,4) [4,5]
##   [4,5]    42    44    42    42    45
##   [3,4)    31    42    34    32    35
##   [2,3)    42    43    39    47    45
##   [1,2)    37    39    29    53    38
##   [0,1)    37    37    46    40    39
#visualizando essas quantidades
par(mar=c(0,0,0,2))
plot(dados$poly, bty="n", type="n")
plot(intensity(quadrantes1, image=TRUE), main="", 
     col=terrain.colors(256), add=T)
polymap(dados$poly,add=TRUE,border="gray80",lwd=3,lty=3)

##############################
#   Intensidade via Kernel   #
##############################

tau = 5 
lambda <- kernel2d(as.points(dados), dados$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0 5 
## Yrange is  0 5 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(dados),pch="*",add=TRUE,cex=0.75)

tau = 10 
lambda <- kernel2d(as.points(dados), dados$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0 5 
## Yrange is  0 5 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(dados),pch="*",add=TRUE,cex=0.75)

tau = 20 
lambda <- kernel2d(as.points(dados), dados$poly, tau, 
                   nx=100,ny=100, kernel="quartic")
## Xrange is  0 5 
## Yrange is  0 5 
## Doing quartic kernel
par(mar=c(2,2,0.5,0.5))
image(lambda,col=terrain.colors(256))
pointmap(as.points(dados),pch="*",add=TRUE,cex=0.75)

############################
#   Vizinho mais próximo   #
############################


# Função G

dists <- nndistG(as.points(dados))
dists                                                     
## $dists
##    [1] 0.046322662 0.032598563 0.086075290 0.057975375 0.076134054 0.120605358
##    [7] 0.031217103 0.083849710 0.072575744 0.100227476 0.062018488 0.142586236
##   [13] 0.082562518 0.007673871 0.088034597 0.070900422 0.059926678 0.034742209
##   [19] 0.004371273 0.025600109 0.014177921 0.070201857 0.150170649 0.065052001
##   [25] 0.070569349 0.089439084 0.086081002 0.027628092 0.151850576 0.047689125
##   [31] 0.097257277 0.130181735 0.130019778 0.053587019 0.057747733 0.023988615
##   [37] 0.105781372 0.092419447 0.100386816 0.132619187 0.078432454 0.059788386
##   [43] 0.091763790 0.043283231 0.091619511 0.088294929 0.066920816 0.108992229
##   [49] 0.113009531 0.021571013 0.067522652 0.153227649 0.125812779 0.191195687
##   [55] 0.021304500 0.073991207 0.107212943 0.094375257 0.036109258 0.053356859
##   [61] 0.057649673 0.060029880 0.043372079 0.081386704 0.069610243 0.043684928
##   [67] 0.072562877 0.066602604 0.079792001 0.083849621 0.112064648 0.093495607
##   [73] 0.077422139 0.008851637 0.048065493 0.139607690 0.063517469 0.076502239
##   [79] 0.132407470 0.054036056 0.042088807 0.077352224 0.054860793 0.032315154
##   [85] 0.048065493 0.101413603 0.043283231 0.130019778 0.024977103 0.135877016
##   [91] 0.057649673 0.090432851 0.114972085 0.093005409 0.165132419 0.067681915
##   [97] 0.079623175 0.075265323 0.080564642 0.067638412 0.059311775 0.006086593
##  [103] 0.070201857 0.128574032 0.045654274 0.132407877 0.038289037 0.122309603
##  [109] 0.098767036 0.045941827 0.086478500 0.042447908 0.075265323 0.026023692
##  [115] 0.016634581 0.154197429 0.038505715 0.029005499 0.050156814 0.059354082
##  [121] 0.079730301 0.074274895 0.052941677 0.171344455 0.094063178 0.037712382
##  [127] 0.115201910 0.092043283 0.099722471 0.021304500 0.105983887 0.145803061
##  [133] 0.016154187 0.057039718 0.021568736 0.085800421 0.012624570 0.141303045
##  [139] 0.126826130 0.032117277 0.093449914 0.074123213 0.115201910 0.015347961
##  [145] 0.086081002 0.052941677 0.025600109 0.042447908 0.098741265 0.130835256
##  [151] 0.036971228 0.076384360 0.116168044 0.079466749 0.050689027 0.029540763
##  [157] 0.093603839 0.094572164 0.041518435 0.036059131 0.075213179 0.018385232
##  [163] 0.143262500 0.027628092 0.118196752 0.097257277 0.065951953 0.047252660
##  [169] 0.035865345 0.198365961 0.030196734 0.076481552 0.147987681 0.020632638
##  [175] 0.077352224 0.046885650 0.063990055 0.092043283 0.029761552 0.034209479
##  [181] 0.091453748 0.024278877 0.032924474 0.084447708 0.075358509 0.105588440
##  [187] 0.020913541 0.055945230 0.119014963 0.018234220 0.016154187 0.066950247
##  [193] 0.125632815 0.142647938 0.050661633 0.049317745 0.090288347 0.107758767
##  [199] 0.141203341 0.092658528 0.078734598 0.091133910 0.049869941 0.100461422
##  [205] 0.085497517 0.137610681 0.094528074 0.106967228 0.031217103 0.073451576
##  [211] 0.069878106 0.085221266 0.059654565 0.148465610 0.028507637 0.040160935
##  [217] 0.078275137 0.156149353 0.013049530 0.055207254 0.017995508 0.126895533
##  [223] 0.053812853 0.158636363 0.087929680 0.135802349 0.133402850 0.090428495
##  [229] 0.113555683 0.147174478 0.060422229 0.151309399 0.102384600 0.093772926
##  [235] 0.123500251 0.043171781 0.094429131 0.075372395 0.113243137 0.062436487
##  [241] 0.043117506 0.098560004 0.073553650 0.025020909 0.075858089 0.053978840
##  [247] 0.056952414 0.152721020 0.104828656 0.070896992 0.163199968 0.134324833
##  [253] 0.042737062 0.039445453 0.102728533 0.081652119 0.070896992 0.061711109
##  [259] 0.024706851 0.111307374 0.043171781 0.095660171 0.116894000 0.218055593
##  [265] 0.039833360 0.006086593 0.094365127 0.061026449 0.094528074 0.079466850
##  [271] 0.076402851 0.087767383 0.039951144 0.067378780 0.087981408 0.001051062
##  [277] 0.029666742 0.093772926 0.024706851 0.052238690 0.123612473 0.113275826
##  [283] 0.090357441 0.070266793 0.131789554 0.202123343 0.113704819 0.073024618
##  [289] 0.050954504 0.085141331 0.049156180 0.031310190 0.057975375 0.123439294
##  [295] 0.165881917 0.051869791 0.088818958 0.032107413 0.024336119 0.028507637
##  [301] 0.131961410 0.019815194 0.063753155 0.140064806 0.062958707 0.154197429
##  [307] 0.099397823 0.051991120 0.135877016 0.116032201 0.068780127 0.030184318
##  [313] 0.090316578 0.041518435 0.142503790 0.022953096 0.047593828 0.059776152
##  [319] 0.062911997 0.063753155 0.058574406 0.074123213 0.102422272 0.038046656
##  [325] 0.061711109 0.134106618 0.109612678 0.041594073 0.079466850 0.040870760
##  [331] 0.105996658 0.040870760 0.116032201 0.136809372 0.163261925 0.076580295
##  [337] 0.209357428 0.101192490 0.073087701 0.047689125 0.068135164 0.073451576
##  [343] 0.077667260 0.053356859 0.051869791 0.145247221 0.097431256 0.046542793
##  [349] 0.101826122 0.088441094 0.047252660 0.121520290 0.098670878 0.100227476
##  [355] 0.070650508 0.059654565 0.065820259 0.079990346 0.100844240 0.029761552
##  [361] 0.083849621 0.056551693 0.039833360 0.054954856 0.014007055 0.088517244
##  [367] 0.066937118 0.149164393 0.051124066 0.048169593 0.113760681 0.111307374
##  [373] 0.171853196 0.075350117 0.031310190 0.075681646 0.063409105 0.056041368
##  [379] 0.083571195 0.115093860 0.084514904 0.080743620 0.014177921 0.107195205
##  [385] 0.032107413 0.128542367 0.059428139 0.073615240 0.046713490 0.071628562
##  [391] 0.052238690 0.066937118 0.097390387 0.101646978 0.110091747 0.086218196
##  [397] 0.030184318 0.040161631 0.113976221 0.071839369 0.044416606 0.103981646
##  [403] 0.016634581 0.116054476 0.094004472 0.138488269 0.079623175 0.138939078
##  [409] 0.113704819 0.078899701 0.088517244 0.149022507 0.036702106 0.071130360
##  [415] 0.066930248 0.058974716 0.023389693 0.075225232 0.024439506 0.084011191
##  [421] 0.057747733 0.088294929 0.099933611 0.024439506 0.029590010 0.036073136
##  [427] 0.095763537 0.071740303 0.130357299 0.036702106 0.106967228 0.036971228
##  [433] 0.029538744 0.029903879 0.079198495 0.019731265 0.044379452 0.112499769
##  [439] 0.046988222 0.019439121 0.248191525 0.142769408 0.112413712 0.082074380
##  [445] 0.076295728 0.063425950 0.076384360 0.095123826 0.036059131 0.013007619
##  [451] 0.099397823 0.087205067 0.124538749 0.138534812 0.074679356 0.104661381
##  [457] 0.159595465 0.035671797 0.127722080 0.076421499 0.082562518 0.036332196
##  [463] 0.108957541 0.049869941 0.067676757 0.083479114 0.030520294 0.067358425
##  [469] 0.060093761 0.068834694 0.070698751 0.075201020 0.095123826 0.044991989
##  [475] 0.181049070 0.085830307 0.075358509 0.054036056 0.080045846 0.122516103
##  [481] 0.063425950 0.113669555 0.014864901 0.044827449 0.125294403 0.064792422
##  [487] 0.018863562 0.018394218 0.085446891 0.136809372 0.094093277 0.067971315
##  [493] 0.056388728 0.032117277 0.095701244 0.034209479 0.014007055 0.037767083
##  [499] 0.095763537 0.045721440 0.098767036 0.138488269 0.106822266 0.058792572
##  [505] 0.133411967 0.084866022 0.106955527 0.144520797 0.102097710 0.052163677
##  [511] 0.072575744 0.085063855 0.072130197 0.092057109 0.109568646 0.110506102
##  [517] 0.141543827 0.083721660 0.093005409 0.083721660 0.105484937 0.100386816
##  [523] 0.082556589 0.095876077 0.134324833 0.078275137 0.090772570 0.137920319
##  [529] 0.105295348 0.074077603 0.070347893 0.048661939 0.070698751 0.091292171
##  [535] 0.100518488 0.084514904 0.033337832 0.037712382 0.079466749 0.028543865
##  [541] 0.079702984 0.038046656 0.084891813 0.009221303 0.081713022 0.066993779
##  [547] 0.024977103 0.073276646 0.085446891 0.075884398 0.044460269 0.011661355
##  [553] 0.046542793 0.056075652 0.026980325 0.129798573 0.064158624 0.128542367
##  [559] 0.117847629 0.081394083 0.118163419 0.090108871 0.047942253 0.084454223
##  [565] 0.019971453 0.062082939 0.050954504 0.084483893 0.107765183 0.018234220
##  [571] 0.115093860 0.112466493 0.067971315 0.014864901 0.067638412 0.117320652
##  [577] 0.259132677 0.085042908 0.102922985 0.073024618 0.056075652 0.109141735
##  [583] 0.030302688 0.016816416 0.047213587 0.165955570 0.075677293 0.207754591
##  [589] 0.139599191 0.042707672 0.063928621 0.040505784 0.152287438 0.053812853
##  [595] 0.073553650 0.173816744 0.049317745 0.057039718 0.087929680 0.044548646
##  [601] 0.140187599 0.060422229 0.051789925 0.046708905 0.060093761 0.097431256
##  [607] 0.095347886 0.071740303 0.059776152 0.033337832 0.059354082 0.029666742
##  [613] 0.047776895 0.092057109 0.124723918 0.067284912 0.101826122 0.070900422
##  [619] 0.076402851 0.029540763 0.127798762 0.073615240 0.071960922 0.094050846
##  [625] 0.020913541 0.029207289 0.113555683 0.118799568 0.106172650 0.155120806
##  [631] 0.021568736 0.028916262 0.240045135 0.083479114 0.078734598 0.022838905
##  [637] 0.023167173 0.013049530 0.054746666 0.075884398 0.012624570 0.057154015
##  [643] 0.116054476 0.121523028 0.072232688 0.070786967 0.013007619 0.159595465
##  [649] 0.061026449 0.152721020 0.064630411 0.100518488 0.099587532 0.109013247
##  [655] 0.066920816 0.165127275 0.075634207 0.102200152 0.094375257 0.126826130
##  [661] 0.038305924 0.028543865 0.109974522 0.076481552 0.086478500 0.028946786
##  [667] 0.069669968 0.032598563 0.075201020 0.015347961 0.086774981 0.087160999
##  [673] 0.093664669 0.097509303 0.035865345 0.202123343 0.044548646 0.094189922
##  [679] 0.070786967 0.128574032 0.029207289 0.089691571 0.066930248 0.158684212
##  [685] 0.074423610 0.046885650 0.069013430 0.016427117 0.029538744 0.050144243
##  [691] 0.163066815 0.022293594 0.113587454 0.102778053 0.025020909 0.114234076
##  [697] 0.107591208 0.149164393 0.145334210 0.037767083 0.023167173 0.089439084
##  [703] 0.134355137 0.090316578 0.063326735 0.130835256 0.127608211 0.122657261
##  [709] 0.038305924 0.106728634 0.067676757 0.119014963 0.105285340 0.008851637
##  [715] 0.054746666 0.062608042 0.076134054 0.028619495 0.089564644 0.083849710
##  [721] 0.050026991 0.054023191 0.025844775 0.099819746 0.090432851 0.133838562
##  [727] 0.045654274 0.036332196 0.085830307 0.108165148 0.024675236 0.060116198
##  [733] 0.064276565 0.023848155 0.023988615 0.028619495 0.094572164 0.101126345
##  [739] 0.099506235 0.087995033 0.091619511 0.120824087 0.101172778 0.091580426
##  [745] 0.062460411 0.040106338 0.044416606 0.081726430 0.138776867 0.059788386
##  [751] 0.023389693 0.199078271 0.100589664 0.107498650 0.219378408 0.068780127
##  [757] 0.090428495 0.030520294 0.133411967 0.044827449 0.057154015 0.075372395
##  [763] 0.056980564 0.017995508 0.050292078 0.007994400 0.099506235 0.124884150
##  [769] 0.209397965 0.090129738 0.051124066 0.066602604 0.043684928 0.016816416
##  [775] 0.085042908 0.071130360 0.034742209 0.094569253 0.029903879 0.118163419
##  [781] 0.090072691 0.081352829 0.120397276 0.105983887 0.063409105 0.078900419
##  [787] 0.133077102 0.113149513 0.113344587 0.114972085 0.062958707 0.120642782
##  [793] 0.134577492 0.040106338 0.016427117 0.074323768 0.018394218 0.044460269
##  [799] 0.209638887 0.079508152 0.118911010 0.056388728 0.094429131 0.020632638
##  [805] 0.018385232 0.080564642 0.040161631 0.130636876 0.111116685 0.085497517
##  [811] 0.070650508 0.061081608 0.159422317 0.092035181 0.062436487 0.084483893
##  [817] 0.144366640 0.076502239 0.096543105 0.086346167 0.122516103 0.047130008
##  [823] 0.060029880 0.055945230 0.032903638 0.113149513 0.018863562 0.035893034
##  [829] 0.125398746 0.036073136 0.101646978 0.056995291 0.026023692 0.237164992
##  [835] 0.007673871 0.133077102 0.084011191 0.033902423 0.135466036 0.050144243
##  [841] 0.092708265 0.039951144 0.125632815 0.140187599 0.025844775 0.145334210
##  [847] 0.050156814 0.103199426 0.050661633 0.127999634 0.108142838 0.067681915
##  [853] 0.030206866 0.058574406 0.034625302 0.029590010 0.081652119 0.112267221
##  [859] 0.158998180 0.082556589 0.009221303 0.089490085 0.056980564 0.022838905
##  [865] 0.024675236 0.075961774 0.040160935 0.018598284 0.116450760 0.046708905
##  [871] 0.062018488 0.086075290 0.036109258 0.105683222 0.024278877 0.170322719
##  [877] 0.136098439 0.101658304 0.145572056 0.077256012 0.090129738 0.108278068
##  [883] 0.118834331 0.062082939 0.047776895 0.029925916 0.085162678 0.118468479
##  [889] 0.073276646 0.034625302 0.076421499 0.096196520 0.096699452 0.126755131
##  [895] 0.128317684 0.109013247 0.099236638 0.028946786 0.095715583 0.093759615
##  [901] 0.059598370 0.107758767 0.092035181 0.059645689 0.046322662 0.051991120
##  [907] 0.152440999 0.019815194 0.022953096 0.065052001 0.096302909 0.054210160
##  [913] 0.054954856 0.172258291 0.068827085 0.089521199 0.153893294 0.021866851
##  [919] 0.072260698 0.131813601 0.047213587 0.094823441 0.086252915 0.134269263
##  [925] 0.050233203 0.032903638 0.001051062 0.056551693 0.063326735 0.029925916
##  [931] 0.044152068 0.151564616 0.087261664 0.102384600 0.097022164 0.072168571
##  [937] 0.114539616 0.011661355 0.112595209 0.068135164 0.112985754 0.071960922
##  [943] 0.097951414 0.192386341 0.029803585 0.099819746 0.100195270 0.170965904
##  [949] 0.047593828 0.070347893 0.028916262 0.057080740 0.141351323 0.120605358
##  [955] 0.109855502 0.071655147 0.100998420 0.150170649 0.073772791 0.126018646
##  [961] 0.054210160 0.029803585 0.085152622 0.144962114 0.088818958 0.084891813
##  [967] 0.019731265 0.004371273 0.052163677 0.043372079 0.019971453 0.018598284
##  [973] 0.030302688 0.062911997 0.177916956 0.021866851 0.090072691 0.047466577
##  [979] 0.059428139 0.086460730 0.073087701 0.068834694 0.113009531 0.101413603
##  [985] 0.124615787 0.085344848 0.060995354 0.051789925 0.019439121 0.072562877
##  [991] 0.120763432 0.040505784 0.047942253 0.145294346 0.077705169 0.064630411
##  [997] 0.124884150 0.067712116 0.089521199 0.060619767
## 
## $neighs
##    [1] 905 668 872 293 717 954 209 720 511 354 871 672 461 835 479 618 945 777
##   [19] 968 147 383 103 958 910 547 702 145 164 233 340 166 409  88 773 421 735
##   [37] 451 240 522 382 936 750 640  87 741 422 655 810 983 766 598 681 606 973
##   [55] 130 852 509 659 873 344  91 823 970 159 344 773 990 772  25 361   1  87
##   [73] 796 714  85 757 291 818 621 478  50 175 195 971  75 984  44  33 547 309
##   [91]  61 725 790 519 297 852 407 113 806 575 147 266  22 680 727 926 647  58
##  [109] 501 875 665 148  98 833 403 306 700 219 847 611 172 679 146 265 760 538
##  [127] 143 178 563  55 784 144 191 598 631 468 641 570 660 494 669 322 127 670
##  [145]  27 123  20 112 911 706 432 447 864 539 555 620 217 737 314 449 246 805
##  [163] 695  28 655  31 921 351 675 683 433 664  63 804  82 686 134 128 360 496
##  [181] 625 875 764 118 477 744 625 824 712 570 133 425 843 824 849 597 435 902
##  [199]  78 488 635 275 464 126 810 509 269 431   7 342 855 180 356 141 300 867
##  [217] 526 430 638 488 764  53 594 923 599  57 579 757 627 871 602 173 934 278
##  [235] 841 261 803 762 838 815 292 781 595 695 319 603 637 650 392 257 521 525
##  [253] 709 419 228 857 250 325 279 372 236 642 272 787 363 102  27 649 207 329
##  [271] 619 474 842 546 277 927 612 234 259 391 654 988 952 823 411 676 409 580
##  [289] 567 171 727 375   4 242 906 345 965 385  21 215 595 908 320 158 791 116
##  [307] 451 906  90 333 756 397 704 159 550 909 949 609 974 303 854 142 481 542
##  [325] 258 843 217 735 270 332 694 330 310 490 851 362  45 522 981  30 940 210
##  [343] 377  60 296  43 606 553 617 560 168 372 169  10 811 213  87  66 181 179
##  [361]  70 928 265 913 497 411 392 698 771  84 602 260 156 925 292 179 785  60
##  [379] 811 571 536 101  21 929 298 558 979 622 930 231 280 367 719 831 256 683
##  [397] 312 807 847   1 747 803 115 643  43 502  97  36 287 566 366 425 430 776
##  [415] 683 779 751 311 424 837  35  46 775 419 856 830 499 608  71 413 208 151
##  [433] 689 779 566 967 254  34 183 989 415 282 854 325 722 481 152 473 160 647
##  [451] 307 513 423 455 594 922 648 637 893 891  13 728 413 203 711 634 758  35
##  [469] 605 982 533 669 448  59 448 729 185  80 389 821 446 602 574 760 935 777
##  [487] 827 797 549 334 830 573 802 140 688 180 365 700 427 989 109 406 901 731
##  [505] 759 364 317 935 862 969   9 126 791 614 359 903  35 520  94 518 947  39
##  [523] 860 664 252 217 461 987 349 360 950 190 471 464 652 381 610 126 154 662
##  [541] 316 324 966 861  80 794  89 889 489 640 798 938 348 581 130 960 715 386
##  [559] 509 797 780 544 993 216 971 884 289 816 323 190 380 501 492 483 100 790
##  [577] 175 775 552 288 554 928 973 774 921 368 824 976 860 183  60 992 280 223
##  [595] 243 333 196 134 225 677 844 231 988 870 469 347 811 428 318 537 120 277
##  [613] 885 514 967 651 349  16 271 156 576 388 942 685 187 681 229 891 455 790
##  [631] 135 951  76 466 201 864 701 219 715 550 137 761 404 498 100 679 450 457
##  [649] 268 248 996 535  69 896  47 777 156 204  58 139 709 540 467 172 111 898
##  [667] 873   2 472 144 420 880 292 511 169 286 600 494 646 104 626 140 415 817
##  [685] 951 176 973 795 433 840 913 670 462 134 244 853 908 368 846 498 637  26
##  [703] 819 313 929 150 465 434 661 526 465 189 290  74 639 827   5 736  11   8
##  [721] 835 626 845 946  92 776 105 462 476 521 865 498 462 565  36 718 158 276
##  [739] 767 657  45 229 612 771 636 794 401 919 489  42 417 295 358 273 120 311
##  [757] 228 467 505 484 642 238 863 221 993  14 739 997 868 881 369  68  66 584
##  [775] 578 414  18 818 434 561 977 432 121 131 377 201 836 826 609  93 305 837
##  [793] 806 746 688 904 488 551  93  68 527 493 237 174 162  99 398 702 881 205
##  [811] 355 584 469 903 240 568 150  78 775 833 480 169  62 188 926 788 487 312
##  [829] 903 426 394 690 114  51  14 787 420 968 765 690 174 273 193 601 723 699
##  [847] 119 520 195 872 354  96 164 321 890 425 256 570 536 523 544  16 763 636
##  [865] 731 118 216 972 472 604  11   3  59 269 182  82 240 739   7 339 770 225
##  [883]  30 566 613 930  13 977 548 855 460 472 135 988 791 654 716 666 356  89
##  [901] 387 198 814   7   1 308 649 302 316  24  73 961 364 772 510 999 320 976
##  [919]  42 351 585 238 329 259 840 825 276 362 705 886  63 191 201 233 191 176
##  [937] 671 552 646 341 950 623 207 768 962 724 300  75 317 531 632 266 561   6
##  [955] 321 303 210  23 622 479 912 945 407  55 297 543 436  19 510  63 565 868
##  [973] 583 319 667 918 781 221 387 344 339 470  49  86 160 758 731 603 440  67
##  [991] 940 592 563 500  78 651 768 436 916 688
maximo <- max(dists$dists)
minimo <- min(dists$dists)
w <- seq(minimo,maximo,by=((maximo - minimo)/100))

## o comando Ghat recebe 2 parâmetros, o primeiro o objeto pontos, 
## o segundo um vetor com a lista de distâncias onde se estima a função G

funcao_G <- Ghat(as.points(dados),w)
par(mar=c(4,4,0.5,0.5))
plot(w,funcao_G,type="l",xlab="distâncias", ylab="G estimada",col=4,lwd=2)

# Função F

dists2 <- nndistF(as.points(csr(dados$poly, length(dados$x))), as.points(dados))
maximo <- max(dists2)
minimo <- min(dists2)
x <- seq(minimo,maximo,by=((maximo - minimo)/100))
funcao_F <- Fhat(as.points(csr(dados$poly, length(dados$x))), as.points(dados),x)
plot(x,funcao_F,type="l", xlab="distâncias", ylab="F estimada",col=3,lwd=2)

#Função G x F
plot(funcao_G, funcao_F, type="l", xlab="G estimada", ylab="F estimada",lwd=2)
abline(0,1,lty=2,col=2,lwd=2)

############################
#        Função K          #
############################


h <- seq(0,30,1)
funcaoK<-khat(as.points(dados), dados$poly, h)
funcaoL<- sqrt(funcaoK/pi) - h

m <- 99
funcaoK.i<-matrix(NA,length(h),m)
funcaoL.i<-matrix(NA,length(h),m)
for (i in 1:m) {
  y<-as.points(csr(dados$poly, length(dados$x)))
  funcaoK.i[,i]<- khat(y, dados$poly, h)
  funcaoL.i[,i]<- sqrt(funcaoK.i[,i]/pi) - h
}
env.sup<-0
for (i in 1:length(h)) {
  env.sup[i]<-max(funcaoL.i[i,])
}
env.inf<-0
for (i in 1:length(h)) {
  env.inf[i]<-min(funcaoL.i[i,])
}

par(mar=c(4.5,4.5,0.5,0.5))
plot(h,funcaoL, type="l", xlab="Distâncias", lwd=2, ylab=expression(hat(L)(h)),ylim=c(-1,1.4))
lines(h,rep(0,length(h)),lty=2,col=2,lwd=2)
lines(h,env.sup,lty=3,col=4,lwd=2)
lines(h,env.inf,lty=3,col=4,lwd=2)