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.