[R-br] Fazer rasterbricks a partir de rasterstacks que estão no ambiente do R e na pasta de trabalho.

Maraisa Braga bragamaraisa em gmail.com
Terça Outubro 28 19:18:25 BRST 2014


David e Thiago...
consegui com a dica de um amigo:
vairaveis<-brick(c(stack(JJA[1]),get(anual[1]),get(seasonal[1])))

A questão era indexar e ler os objetos que estavam dentro do ambiente. Essa
função get() resolveu.

Valeu galera!

Até!
Maraísa

Em 28 de outubro de 2014 19:05, Thiago V. dos Santos <
thi_veloso em yahoo.com.br> escreveu:

> Maraisa,
>
> A resposta fica limitada com a ausencia dos dados, mas me parece que você
> está referenciando as camadas do raster incorretamente (lembre-se que o
> pacote raster cria objetos de classe S4). Usar dois colchetes ao
> especificar a camada do raster deve resolver o seu problema (assumindo que
> as variaveis anteriores tenham sido criadas corretamente). Veja a diferença:
>
> b <- brick(system.file("external/rlogo.grd", package="raster"))
> b[1]    #acessa os valores da primeira linha de cada camada
> b[[1]]  #aponta para a primeira camada
>
> Portanto, a minha recomendação para o seu código seria:
>
> vairaveis<-brick(stack(JJA[[1]]),anual[[1]],seasonal[[1]])
>
> 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
>
>
>   On Tuesday, October 28, 2014 11:42 AM, Maraisa Braga <
> bragamaraisa em gmail.com> wrote:
>
>
> Oi Davi!
> Mas acho que não posso enviar meus dados em anexo. Eis um resumo do meu
> scrip:
>
> CCSM_0k<-read.table("bio_var_CCSM_0k_global.txt",h=T)
>
> seasonal_CCSM_0k<-stack(rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.7)),
>
> rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.15)))
>
> anual_CCSM_0k<-stack(rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.1)),
>
>  rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.12)),
>
>  rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.5)),
>
>  rasterFromXYZ(data.frame(CCSM_0k[,c(2:3)],CCSM_0k$bio.6)))
>
> JJA<-list.files(pattern="JJA.grd")
> anual<-apropos(what="anual_")
> seasonal<-apropos(what="seasonal_")
>
> vairaveis<-brick(stack(JJA[1]),anual[1],seasonal[1])
>
> Em 28 de outubro de 2014 13:12, David Feitosa <contato em davidfeitosa.com>
> escreveu:
>
> Não tenho ideia do que seja isso, mas você não teria um exemplo de código
> que pudéssemos reproduzir?
> Sem o código e o dataset fica um tanto complicado...
>
>
>
> Atenciosamente,
>
> David Feitosa
>
> (\_(\
> (=°;°)
> (("")("")
>
> Em 28 de outubro de 2014 11:51, Maraisa Braga <bragamaraisa em gmail.com>
> escreveu:
>
> Olá a todos!
> Sou nova por aqui, então se cometer alguma gafe, por favor me avisem.
>
> Preciso fazer rasterbricks de objetos que são rasterstacks e estão no meu
> ambiente do R com arquivos que tb são rasterstacks e estão no meu working
> diretory. Então, tenho isso:
> JJA<-list.files(pattern="JJA.grd")
> seasonal<-apropos(what="seasonal_")
> anual<-apropos(what="anual_")
>
> >JJA
>  [1] "CCSM_0k_JJA.grd"   "CCSM_26_JJA.grd"   "CCSM_85_JJA.grd"
>
> > seasonal
>  [1] "seasonal_CCSM_0k"   "seasonal_CCSM_26"   "seasonal_CCSM_85"
>
> > anual
>  [1] "anual_CCSM_0k"   "anual_CCSM_26"   "anual_CCSM_85"
>
> Assim, os objetos "anual" e "seasonal" estão no ambiente do R e o objeto
> "JJA" está no working diretory.
> Tentei fazer isso, mas não dá certo:
>
> >brick(stack(JJA[1]), anual[1], seasonal[1])
> Error in round(nl) : non-numeric argument to mathematical function
>
> > brick(stack(JJA[1]), stack(anual[1]), stack(seasonal[1]))
> Error in .local(.Object, ...) :
>   `D:\...\seasonal_CCSM_0k' does not exist in the file system, and is not
> recognised as a supported dataset name.
>
> Error in .rasterObjectFromFile(x, objecttype = "RasterBrick", ...) :
>   Cannot create a RasterLayer object from this file. (file does not exist)
>
> Alguma sugestão?
>
> Maraísa
>
>
>
> _______________________________________________
> 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.
>
>
>
> _______________________________________________
> 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.
>
>
>
> _______________________________________________
> 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.
>
>
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141028/0e84f829/attachment.html>


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