
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] <http://user/SendEmail.jtp?type=node&node=4663338&i=0>> 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:
Classes para dados espaciais: o pacote sp <http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase31.html>
[image: image] <http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase31.html>
Classes para dados espaciais: o pacote sp <http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase31.html>
[next] [prev] [prev-tail] [tail] [up] 31 Classes para dados espaciais: o pacote sp
View on *www.leg.ufpr.br* <http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase31.html>
Preview by Yahoo
*Rafael Tieppo*
On Sunday, October 19, 2014 7:52 PM, "[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=0>" <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=1>> wrote:
Enviar submissões para a lista de discussão R-br para [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=2>
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] <http://user/SendEmail.jtp?type=node&node=4663312&i=3>
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=4>
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] <http://user/SendEmail.jtp?type=node&node=4663312&i=5>) 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] <http://user/SendEmail.jtp?type=node&node=4663312&i=6> To: "[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=7>" <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=8>> Subject: [R-br] Integral Message-ID: <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=9>> 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/attac...
-------------- 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/attac...
------------------------------
Message: 2 Date: Sun, 19 Oct 2014 18:29:49 -0200 From: Hélio Gallo Rocha <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=10>> To: r-br <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=11>> Subject: [R-br] skater e deldir Message-ID: <CA+[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=12>> 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/attac...
------------------------------
Message: 3 Date: Sun, 19 Oct 2014 19:40:44 -0200 From: "walmes ." <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=13>> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=14> Subject: Re: [R-br] Integral Message-ID: <CAFU=EkZ_E8hLAgXoUk79T7u6qpi4LLtbqrNAvjCXx+[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=15>> 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/attac...
------------------------------
Message: 4 Date: Sun, 19 Oct 2014 17:52:04 -0400 From: Diogo Ferrari <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=16>> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=17> Subject: Re: [R-br] Integral Message-ID: <[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=18>> 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] <http://user/SendEmail.jtp?type=node&node=4663312&i=19> <mailto:[hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=20>>
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] <http://user/SendEmail.jtp?type=node&node=4663312&i=21> wrote:
Aonde estou errando nessa integral, o caminho não seria esse?
Att. André <Integral.jpg>_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=22> 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/attac...
-------------- 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/attac...
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attac...
------------------------------
Subject: Legenda do Digest
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4663312&i=23> 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] <http://user/SendEmail.jtp?type=node&node=4663312&i=24> 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.htm...
To unsubscribe from R-br, click here. NAML <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
-- Hélio Gallo Rocha IFSULDEMINAS - Câmpus Muzambinho
------------------------------ <http://www.avast.com/>
Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus <http://www.avast.com/> está ativa.
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4663338&i=1> 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.htm... To unsubscribe from R-br, click here <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4> . NAML <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
-- Hélio Gallo Rocha IFSULDEMINAS - Câmpus Muzambinho