[R-br] Ajuda parar exibir variação temporal de dados em mapas

Fernando Mayer fernandomayer em gmail.com
Domingo Março 18 23:39:10 BRT 2012


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 em 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 em gmail.com> wrote:
>
>
> From: Fernando Mayer <fernandomayer em gmail.com>
> Subject: Re: [R-br] Ajuda parar exibir variação temporal de dados em mapas
> To: r-br em 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 em 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 em 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 em 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.


Mais detalhes sobre a lista de discussão R-br