
Então o problema é esse mesmo: não existe em meltR um componente chamado X3 para que vc possa, a partir dele, criar um vetor com os anos. Alguma coisa está faltando na hora que vc cria o meltR usando o melt(). Talvez isso deveria vir do objeto deforest? (Não tenho familiaridade com objetos da classe RasterBrick, por isso nã sei se isso deveria ou não acontecer.) Se você sabe a quais anos correspondem as linhas do meltR, então poderia criar os anos a partir disso. Por exemplo, se as linhas estiverem divididas igualmente entre os 3 anos, e eles estiverem na sequência lógica, então isso resolveria: meltR$ano <- gl(n = 3, k = nrow(meltR)/3, labels = c(2001, 2002, 2003)) p = ggplot(meltR, aes(x=class)) p + geom_histogram(aes(fill=class)) + facet_grid(. ~ ano) []s, --- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com 2012/3/18 Thiago Veloso <thi_veloso@yahoo.com.br>
Olá Fernando.
O objetivo naquele trecho seria criar fatores "2000", "2001" e "2002" no objeto que contém os dados já categorizados. Isso garante ser possível plotar os três histogramas juntos, lado a lado, nos trechos posteriores de código responsáveis pela plotagem dos dados.
Grato pela ajuda, Thiago Veloso.
--- On Sat, 17/3/12, Fernando Mayer <fernandomayer@gmail.com> wrote:
From: Fernando Mayer <fernandomayer@gmail.com> Subject: Re: [R-br] Ajuda parar exibir variação temporal de dados em mapas To: r-br@listas.c3sl.ufpr.br Date: Saturday, 17 March, 2012, 16:11
abaixo...
--- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com
2012/3/16 Thiago Veloso <thi_veloso@yahoo.com.br>
Pessoal,
Possuo três mapas (em formato raster) de desmatamento na Amazônia em diferentes anos. Essas taxas de desmatamento variam de 0 a 1. A minha intenção é mostrar a variação temporal do desmatamento através de histogramas que mostram a contagem de células em diferentes classes (p. ex., de 0 a 0.3, de 0.3 a 0.6 e de 0.6 a 1) em cada ano. Aqui está uma ideia conceitual do que preciso fazer (apenas ilustrativa, criada com dados hipotéticos): http://img24.imageshack.us/img24/6416/examplezxt.png e aqui disponibilizo um arquivo com amostra do arquivo de dados http://db.tt/XXDtRee1. Trata-se um netcdf com três níveis de tempo.
Na lista de SIG do R eu já recebi algumas dicas para fazer isso. Entretanto, estou recebendo um erro ao tentar criar fatores nos dados. Será que alguém aqui consegue me dar uma auxílio? Segue o código que estou utilizando e a mensagem de erro:
--------------------------------------------
#Load required packages library (raster) Loading required package: sp raster version 1.9-70 (27-February-2012) library (ggplot2) library (reshape2)
#Load data deforest <- brick("/home/thiago/Dropbox/defor-3-years.nc") Loading required package: ncdf
#Probe layer names and plot raster data layerNames(deforest) [1] "X0.1" "X0.2" "X0.3" plot(deforest)
#Convert spatial object to data frame (omitting NAs) meltR <- melt(as.array(deforest),na.rm=TRUE)
#Define classes used to count grids meltR$class <- cut(meltR$value, c(0,0.3,0.6,1)) #Define factors to plot individual years meltR$X3 <- factor(meltR$X3, labels=c('2000','2001','2002')) Error in factor(meltR$X3, labels = c("2000", "2001", "2002")) : invalid labels; length 3 should be 1 or 0
No objeto meltR não existe nenhum X3 como componente, por isso não há como criá-lo. Qual era o objetivo aqui?
--------------------------------------------
O código continuaria assim:
-------------------------------------------- #Plot data p = ggplot(meltR,aes(x=class)) p + geom_histogram(aes(fill=class))+facet_grid(. ~ X3) --------------------------------------------
Caso seja útil, segue o sumário do sessionInfo():
--------------------------------------------
sessionInfo() R version 2.14.1 (2011-12-22) Platform: x86_64-pc-linux-gnu (64-bit)
locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages: [1] stats graphics grDevices utils datasets methods base
other attached packages: [1] ncdf_1.6.6 reshape2_1.2.1 ggplot2_0.9.0 raster_1.9-70 sp_0.9-97
loaded via a namespace (and not attached): [1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2 grid_2.14.1 [5] lattice_0.20-6 MASS_7.3-17 memoise_0.1 munsell_0.3 [9] plyr_1.7.1 proto_0.3-9.2 RColorBrewer_1.0-5 scales_0.2.0 [13] stringr_0.6 --------------------------------------------
Um verdadeiro desafio - estou desde 4a feira quebrando a cabeça com isso. Agradeço desde já qualquer contribuição! Thiago.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.
-----Inline Attachment Follows-----
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.