RESOLVIDO. Rodei no R 2.14 e deu certo. Antes eu estava usando o 3.0. Só não sei o porquê.
Obrigada pela ajuda! 2013/8/21 Ludmila Rattis <[email protected]> > Oi Thiago, > > A função não dá erro. Mas não consigo o que preciso. Tentei um código bem > parecido com esse segundo que você postou: > > r<-raster("lemure_r") > rc <- clump(r,directions=8,gaps=FALSE) > clump_id <- getValues(rc) > xy <- xyFromCell(rc,1:ncell(rc)) > df <- data.frame(xy, clump_id, is_clump = rc[] %in% freq(rc, useNA = > 'no')[,1]) > df$is_clump > lemure<-df[df$is_clump == T, ] > lemure$is_clump > > e realmente dá certo com o raster aleatório, porque ele identifica cada > célula como sendo pertencente a um clump. No meu caso ele reconhece os 309 > clumps que eu esperava, até aí ok. O problema ocorre na linha > > clump_id <- getValues(rc) > > porque ele não atribui números diferentes para as células que estão em > clumps diferentes, e eu preciso disso para obter o centroide. Como você > verá, o comando > > lemure<-df[df$is_clump == T, ] > > retorna as coordenadas de TODAS as células que estão em clumps, mas não me > diz em qual clump a célula está, por causa do resultado que descrevi acima. > > O raster está em anexo. > > [ ]'s > > Ludmila > > > 2013/8/20 Thiago V. dos Santos <[email protected]> > >> Ludmila, >> >> Por que o seu código não funciona? Aqui no meu computador funcionou com >> um raster aleatório. >> >> Você tentou usar a função clump? Ela pode ser mais próxima do que você >> precisa. Veja abaixo: >> >> library(raster) >> library(igraph) >> >> # Create random raster >> r <- raster(ncols=12, nrows=12) >> set.seed(0) >> r[] <- round(runif(ncell(r))*0.7 ) >> >> # Detect clumps and plot result >> rc <- clump(r) >> plot(rc) >> >> # Extract coordinates >> xy <- coordinates(rc) >> lon <- xFromCol(r,1:ncol(r)) >> lat <- yFromRow(r,1:nrow(r)) >> >> Se o código acima não funcionar no seu computador, por favor retorne a >> mensagem de erro E o raster que você está usando para que a lista possa >> ajudar. >> >> Saudações, >> -- >> Thiago V. dos Santos >> PhD student >> Land and Atmospheric Science >> University of Minnesota >> >> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm >> Phone: (612) 323 9898 >> >> ------------------------------ >> *From:* Ludmila Rattis <[email protected]> >> *To:* [email protected] >> *Sent:* Tuesday, August 20, 2013 1:54 PM >> *Subject:* [R-br] get coordinates of patches (clumps) in a raster map >> >> Prezados, >> >> Preciso extrair as coordenadas dos centroides de diferentes clumps de um >> raster. Para isso, usei o seguinte código: >> >> p <- data.frame(rasterToPoints(meu_raster)) >> a<- p[p$layer > 0,] >> c<-sapply(split(p[, c("x", "y")], p$layer), colMeans) >> >> Contudo, esse código não está funcionando. >> >> Alguém saberia me dizer como posso obter tais coordenadas? >> >> []'s >> >> *Ludmila Rattis* >> Programa de Pós-graduação em Ecologia/UNICAMP >> Conservation Biogeography Lab >> http://www.wix.com/rdloyola/lab <http://sites.ffclrp.usp.br/ficus> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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. >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> 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. >> > > > > -- > *Me. Ludmila Rattis* > > Programa de Pós-graduação em Ecologia/UNICAMP > Conservation Biogeography Lab > http://www.wix.com/rdloyola/lab <http://sites.ffclrp.usp.br/ficus> > -- *Me. Ludmila Rattis* Programa de Pós-graduação em Ecologia/UNICAMP Conservation Biogeography Lab http://www.wix.com/rdloyola/lab <http://sites.ffclrp.usp.br/ficus>
_______________________________________________ R-br mailing list [email protected] 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.
