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

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

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@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@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.

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@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@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@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@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.

Recomenda-se que não sejam enviados arquivos anexados às mensagens. Fortemente se recomenda que seja lido o guia de postagem dessa lista, cujo link está no rodapé de todas as mensagens. Há diversas formas de você fornecer um CMR. Pode ser por hospedar os dados em local público e dando instruções em R para download/leitura desses dados. Caso sejam pequenos, você pode fornecer o dput() dos mesmos na própria mensagem. Ainda tem a possibilidade de você simular um conjunto de dados com a mesma estrutura do seu. Tudo isso tem por objetivo catalisar as colaborações nessa lista. À disposição. Walmes.

ok, foi mals! Maraísa Em 28 de outubro de 2014 15:20, walmes . <walmeszeviani@gmail.com> escreveu:
Recomenda-se que não sejam enviados arquivos anexados às mensagens. Fortemente se recomenda que seja lido o guia de postagem dessa lista, cujo link está no rodapé de todas as mensagens. Há diversas formas de você fornecer um CMR. Pode ser por hospedar os dados em local público e dando instruções em R para download/leitura desses dados. Caso sejam pequenos, você pode fornecer o dput() dos mesmos na própria mensagem. Ainda tem a possibilidade de você simular um conjunto de dados com a mesma estrutura do seu. Tudo isso tem por objetivo catalisar as colaborações nessa lista.
À disposição. Walmes.
_______________________________________________ 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.

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 camadab[[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/inde... Phone: (612) 323 9898 On Tuesday, October 28, 2014 11:42 AM, Maraisa Braga <bragamaraisa@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@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@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@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@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@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.

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@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/inde... Phone: (612) 323 9898
On Tuesday, October 28, 2014 11:42 AM, Maraisa Braga < bragamaraisa@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@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@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@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@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@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@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.
participantes (4)
-
David Feitosa
-
Maraisa Braga
-
Thiago V. dos Santos
-
walmes .