Mauro, bom dia.


Não sei qual seu objetivo no uso desta função, assim vou te passar o histórico e se quiser dando idéias, será bem vindo
Estou estudando geoestatística e é interessante saber que regiões tem seus atributos "parecidos".
A idéia inicial era utilizar a função skater do pacote spdep.

Como tenho pontos teria de criar poligonos, que foi realizado com a função deldir, e listar os poligonos.

A listagem era um problemão, pois teria de crira poligono por poligono, como no CRM inicial.
Problema resolvido com a preciosa ajuda do Rafael. que sugeriu usar a função poly2nb do pacote sddep

Com  a função deldir apenas gera poligonos assim foi necessário inserir dados aos mesmo e torná-los um SpatialPolygonsDataFrame

Dai pra frente o código está em estudo, veja:
require(deldir)  ;require(spdep)
## 1. Coordenadas
n <- 40 
set.seed(47)
x <- runif(n)
y <- runif(n)
plot(x,y)
## 2. Dados
 set.seed(1389)
dados <- data.frame(rnorm(n,10,sd=5), rnorm(n,15,sd=5),rnorm(n,20,sd=5))
colnames(dados)<- paste("var",1:3,sep="")
row.names(dados) <- paste("reg", 1:n, sep = "")
dados
class(dados)

## 3. gerando coordenadas dos poligonos com função deldir
d <- deldir(x,y)

ttt <- triang.list(d)
plot(ttt)
plot(ttt,border="red",showrect=TRUE)
sss <- tile.list(d)
plot(sss)
plot(ttt,add=TRUE,border="blue")

##  4. Gerando poligonos
### Rafael  Tieppo----  G R A N D E   A J U D A ! ! ! !


FUN_VOR_MAT <- function (A,TT) #TT é  o arquivo, N o número do POL
    {
        AA <- 1
        BB <- 2
        NROW <- length (A[[TT]]$x) + 1 #add primeiro ponto


        VORONOI_MATRIX <- matrix(0,NROW,2)
        VORONOI_MATRIX[1:NROW,AA] <- A[[TT]]$x[1:NROW]
        VORONOI_MATRIX[1:NROW,BB] <- A[[TT]]$y[1:NROW]
        VORONOI_MATRIX[NROW,AA]   <- A[[TT]]$x[1] #+ 1 add primeiro ponto
        VORONOI_MATRIX[NROW,BB]   <- A[[TT]]$y[1] #+ 1 add primeiro ponto

        if(TT == NROW){
        print("17/10/2014, [hidden email] ")}
        return(VORONOI_MATRIX)
    }

## Agora vc vai usar a funcao:
AREAS<-  lapply(1:length(sss), function (x) ( FUN_VOR_MAT(sss,x))  )
        summary(AREAS)
## 5. Formando Polygons
POLS<-  lapply(1:length(AREAS), function(x) Polygons(list(Polygon(AREAS[[x]])),
       ID = paste("reg", x, sep = "")))
 summary(POLS)
 class(POLS)
 

 SPol <- SpatialPolygons(POLS) 
 class(SPol) 
  plot(SPol)
  bbox(SPol)
              
## 6. Inserindo dados aos poligonos 
 SPolDF <- SpatialPolygonsDataFrame(SPol, dados) 
plot(SPolDF)
 
 
## 7.   Código para visualizar áreas "parecidas"

## em estudo
(coordenadas=cbind(x,y))
class(coordenadas)


## 
rn <- sapply(slot(SPolDF, "polygons"), function(x) slot(x, "ID"))

knn1 <- knearneigh(coordenadas, 1)

knn2 <- knearneigh(coordenadas, 2)

nb1 <- knn2nb(knn1, row.names=rn)

nb2 <- knn2nb(knn2, row.names=rn)

##1
diffs <- diffnb(nb2, nb1)
plot(SPolDF, border="grey")
plot(nb1, coordenadas, add=TRUE)
plot(diffs, coordenadas, add=TRUE, col="red")
title(main=paste("Differences (red) in Columbus GAL weights (black)", "and polygon generated queen weights", sep="\n"))
 
 
##2 
xxx <- poly2nb(SPolDF, queen=FALSE)
dxxx <- diffnb(xxx, nb1)
plot(SPolDF, border = "grey")
plot(nb1, coordenadas, add = TRUE)
plot(dxxx, coordenadas, add = TRUE, col = "red")
title(main=paste("Differences (red) in Columbus GAL weights (black)",
 "and polygon generated rook weightsvvv", sep="\n"))

## 3
cards <- card(nb2)
maxconts <- which(cards == max(cards))
if(length(maxconts) > 1) maxconts <- maxconts[1]
fg <- rep("grey", length(cards))
fg[maxconts] <- "red"
fg[nb2[[maxconts]]] <- "green"
plot(SPolDF, col=fg)
title(main="Region with largest number of contiguities")


plot(SPolDF, border="grey")
plot(nb1, coordenadas, add=TRUE)
plot(diffs, coordenadas, add=TRUE, col="red", lty=2)


Abraço

Hélio

Em 21 de outubro de 2014 23:41, Mauro Sznelwar [via R-br] <ml-node+s2285057n4663338h46@n4.nabble.com> escreveu:

Tentei rodar vosso script, mas a partir daí não foi mais, qual o motivo?

> plot(sss)

> polygon(p1,border="green",lwd=3) 

Error in xy.coords(x, y) :

  'x' is a list, but does not have components 'x' and 'y'

 

 

Caros Elias e Rafael.

 

Rafael, obrigado pelo código, vou testar, mas depois de conseguir separar os polígonos.

Na realidade é essa a minha dificuldade.

 

Fiz uns testes que deram certo, mas estou separando um polígono por vez, assim fica muito trabalhoso, de uma olhada no código que é a partir do enviado no primeiro post:

 

 

## objeto que possui as coordenadas geradas na função deldir é o objeto sss

 

## coordenadas do poligono 01

(x1 <- sss[[1]][2])

(y1 <- sss[[1]][3])

 

## coordenadas do poligono 02

x2 <- sss[[2]][2]

y2 <- sss[[2]][3]

.

.

.

.

.  

## coordenadas do poligono 20

x20 <- sss[[20]][2]

y20 <- sss[[20]][3]

             

## Agrupando as coordenadas num só objeto

(p1 <-c(x1,y1))

 

(p2 <-c(x2,y2))

 

(p20 <-c(x20,y20))

 

## visualizando  os poligonos

plot(sss)

polygon(p1,border="green",lwd=3)  

polygon(p2,border="red",lwd=3)  

polygon(p20,border="blue",lwd=3)  

 

## Os passos seguintes diferem do seu

 

## tentativa de gerar um SpatialPolygons, que tem de estar fechado, ou seja a primeira e a ultima linhas de coordenadas tem de ser a mesma

 

(x11 <- c(p1$x, p1$x[1]))

(y11 <- c(p1$y, p1$y[1]))

 

 

(p1 <- cbind(x11,y11))

 

## transformando em SpatialPolygons

### Passo 1

linep1=Polygon(p1);class(linep1) #Polygon

linep1

 

 

## Passo 2

linep1a=Polygons(list(linep1),ID="a");class(linep1a) #   Polygons

linep1a

 

## Passo 3

linesp=SpatialPolygons(list(linep1a));class(linesp) #SpatialPolygons

linesp

 

## Passo 4

proj4string(linesp) <- CRS("+proj=utm + zone=23s +datum=WGS84")

summary(linesp)

plot(linesp)

 

Se puder dar uma mão, agradeço desde já..

 

Abraço

 

Hélio

 

Em 20 de outubro de 2014 13:22, Rafael Tieppo [via R-br] <[hidden email]> escreveu:

Hélio,

 

Após dividir sua área em polígonos, vc terá um conjunto de coordenadas, onde cada conjunto será um polígono.

Com esse objeto pronto em forma de lista:

 

Passo 1: Formar "Polygons"

POLS <- lapply(1:length(AREAS), function(x) Polygons(list(Polygon(AREAS[[x]])),

       ID = paste("reg", x, sep = "")))

Passo 2:Converter em "SpatialPolygons"

POLS <- as.SpatialPolygons.PolygonsList(POLS, proj4string=CRS(as.character(NA)))

 

Agora vc já pode usar a função  poly2nb()

 poly2nb(POLS)

 

Tem um tutorial bem detalhado do professor:

 

 

image

 

 

 

 

 

Classes para dados espaciais: o pacote sp

[next] [prev] [prev-tail] [tail] [up] 31 Classes para dados espaciais: o pacote sp

Preview by Yahoo

 

 

 

Rafael Tieppo

 

On Sunday, October 19, 2014 7:52 PM, "[hidden email]" <[hidden email]> wrote:

 

Enviar submissões para a lista de discussão R-br para
    [hidden email]

Para se cadastrar ou descadastrar via WWW, visite o endereço
    https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
corpo da mensagem para
    [hidden email]

Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
    [hidden email]

Quando responder, por favor edite sua linha Assunto assim ela será
mais específica que "Re: Contents of R-br digest..."


Tópicos de Hoje:

  1. Integral ([hidden email])
  2. skater e deldir (Hélio Gallo Rocha)
  3. Re: Integral (walmes .)
  4. Re: Integral (Diogo Ferrari)


----------------------------------------------------------------------

Message: 1
Date: Sun, 19 Oct 2014 17:23:19 -0200
From: [hidden email]
To: "[hidden email]" <[hidden email]>
Subject: [R-br] Integral
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/d7d3470d/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: Integral.jpg
Tipo: image/jpeg
Tamanho: 38510 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/d7d3470d/attachment-0001.jpg>

------------------------------

Message: 2
Date: Sun, 19 Oct 2014 18:29:49 -0200
From: Hélio Gallo Rocha <[hidden email]>
To: r-br <[hidden email]>
Subject: [R-br] skater e deldir
Message-ID:
    <CA+[hidden email]>
Content-Type: text/plain; charset="utf-8"



Caros da lista,

Estou tentando implementar o uso de SKATER do pacote spdep.
Gostaria de contar com a boa vontade dos listeiros para resolver esta
dificuldade.

Para iniciar o skater tenho de dividir minha área em poligonos.
Para tal estou usando o pacote deldir. Abaixo um exemplo da própria página
CRAN.


require(deldir)
set.seed(42)
x <- runif(20)
y <- runif(20)
d <- deldir(x,y)
(ttt <- triang.list(d)  )
plot(ttt,border="red",showrect=TRUE)
(sss <- tile.list(d))
plot(sss)
plot(ttt,add=TRUE,border="blue")


O objeto ttt lista os conjuntos de três pontos que formam o poligono

Teria uma forma automatizada para gerar estes poligonos no formato shape,
pois o CRM do skater que tenho utiliza o comando "readShapePoly" do spdep.

Tentei exportar para o formato XLS, mas não foi possível pois o objeto ttt
não é um data.frame



Agradeço desde já
--
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/e658abd9/attachment-0001.html>

------------------------------

Message: 3
Date: Sun, 19 Oct 2014 19:40:44 -0200
From: "walmes ." <[hidden email]>
To: [hidden email]
Subject: Re: [R-br] Integral
Message-ID:
    <CAFU=EkZ_E8hLAgXoUk79T7u6qpi4LLtbqrNAvjCXx+[hidden email]>
Content-Type: text/plain; charset="utf-8"

?
Eu gosto muito de desafios de cálculo mas aprecio muito mais o desafio
quando sei do que se trata, quando tem contexto. Você não forneceu nenhum.
Meu julgamento adivinhatório de imprecisão acha que tem a ver com
estatísticas de ordem. Essa lista tem a prerrogativa de não resolver
problemas de sala de aula para não tirar do aluno o privilégio do
conhecimento a se adquirir em resolvê-lo. Espero que não seja esse o caso.
A lista também pede para não encaminhar conteúdo em anexo. Como se trata de
uma sequência de desenvolvimento matemático, um opção seria fazer no
eqneditor (http://www.codecogs.com/latex/eqneditor.php) e colar o código
latex correspondente, como por exemplo esse código

\begin{align*}
f(x) &= \theta_y+\theta_2 (x-\theta_x)^2 \\
&= \theta_y+\theta_2 (x^2-2\theta_x x+\theta_x^2)\\
&=
\underbrace{(\theta_y+\theta_2\theta_x^2)}_{\beta_0}-\underbrace{2\theta_2\theta_x}_{-\beta_1}
x+\underbrace{\theta_2}_{\beta_2} x^2\\
&= \beta_0+\beta_1 x+\beta_2 x^2
\end{align*}

Aí a coisa funciona como CMR, onde o código é latex. É só recortar esse
código e colar no eqneditor. O mais experts em latex podem editar sem
precisar renderizar, inclusive.

À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/587e8e00/attachment-0001.html>

------------------------------

Message: 4
Date: Sun, 19 Oct 2014 17:52:04 -0400
From: Diogo Ferrari <[hidden email]>
To: [hidden email]
Subject: Re: [R-br] Integral
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

Caro Andre

Segue abaixo a resposta. Acho porem que existem alguns fóruns mais apropriados para perguntas desse tipo. Procure fóruns sobre matemática, ou calculo especificamente. Acho que essa lista e mais adequada para questões envolvendo programação estatística.

Use integração por partes (no exemplo q estou enviando, não inclui a constante na integral indefinida pq vc tem uma integral definida. Portanto, apenas inclua os limites de integração no exemplo).




Abracos


--
Diogo Ferrari
PhD Student
University of Michigan, Ann Arbor
Department of Political Science
E-mail: [hidden email] <mailto:[hidden email]>

Open Source! Use R! Use Linux!

"A vida é a arte de tirar conclusões suficientes de dados insuficientes"



> On Oct 19, 2014, at 3:23 PM, [hidden email] wrote:
>
> Aonde estou errando nessa integral, o caminho não seria esse?
>
> Att.
> André
> <Integral.jpg>_______________________________________________
> R-br mailing list
> [hidden email]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: latexit-drag.pdf
Tipo: application/pdf
Tamanho: 59430 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attachment.pdf>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attachment-0001.html>

------------------------------

Subject: Legenda do Digest

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br


------------------------------

Fim da Digest R-br, volume 46, assunto 20
*****************************************


_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


If you reply to this email, your message will be added to the discussion below:

http://r-br.2285057.n4.nabble.com/R-br-skater-e-deldir-tp4663303p4663312.html

To unsubscribe from R-br, click here.
NAML



 

--
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho




Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa.



_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-skater-e-deldir-tp4663303p4663338.html
To unsubscribe from R-br, click here.
NAML



--
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho