[R-br] Salvando Gráficos num Loop

Rodrigo de Souza Oliveira rddsouzaoliveira em gmail.com
Sexta Janeiro 5 10:35:12 -02 2018


Yury, bom dia.

Por padrão o R "printa" os objetos automaticamente, mesmo sem a gente
chamar uma função para isso. Porém, quando está dentro de um loop isso não
funciona. Portanto deve-se sempre chamar uma função como o "print()", por
exemplo. Com o código abaixo deve funcionar:

pdf(paste0('C:\\Users\\Yury\\Desktop\\Fernandes\\Graphs\\', a[i], '.pdf'),
width = 20, height = 14)
print(matrixplot(dwi(duff, var.type="Days"),ColorRamp="Days", main =
"Estação_b"))
dev.off()



Em 5 de janeiro de 2018 09:05, Yury Duarte via R-br <
r-br em listas.c3sl.ufpr.br> escreveu:

> Bom dia colegas listeiros!
>
> Estou tendo um pequeno problema para automatizar a criação e salvamento de
> gráficos temáticos utilizando um loop.
> Quando rodo o script lendo um arquivo de cada vez (fora do loop), o
> gráfico é salvo sem prejuízo na pasta de destino, entretanto, quando peço
> para rodar o script dentro do loop, ele salva os gráficos em branco.
> Gostaria de entender o porque dessa peculiaridade, já que programa não me
> retorna nenhum aviso de falha ou problema.
>
> O código utilizado segue abaixo e também anexei dois arquivos distintos
> dos bancos de dados que estou trabalhando, caso alguém queira/precise rodar
> o script.
> Desde já, agradeço pela ajuda de todos!
>
> rm(list=ls())
> library(hydroTSM)
> library(lattice)
> library(stringr)
>
> #----------Verificando Diretorio----------#
> setwd('C:\\Users\\Yury\\Desktop\\Fernandes')
> length(dir('C:\\Users\\Yury\\Desktop\\Fernandes'))
> a = grep('.txt', dir(getwd()), value = T)
> a = str_sub(a, end = 5)
>
> #----------Loop de todas as EM----------#
> for(i in 1:length(a)){
>
>   #----------Selecao Arquivo INMET----------#
>   b = read.table(paste0('C:\\Users\\Yury\\Desktop\\Fernandes\\', a[i],
> '.txt'), header=TRUE)
>   b.cor = data.frame(b$Data, b$Precipitacao, b$TempMaxima, b$TempMinima,
> b$Insolacao, b$Umidade.Relativa.Media)
>   colnames(b.cor) = c("Data","RAIN","TMAX","TMIN","n","RHUM"); str(b.cor)
>   b.cor$Data = as.Date(levels(b$Data))[b$Data]
>
>   #----------Criar Vetor Completo de Datas----------#
>   vetor.data = seq(as.Date('01/07/1961', "%d/%m/%Y"),
> as.Date('30/06/2015', "%d/%m/%Y"), 1)
>   Data = data.frame(Data=vetor.data)
>
>   #----------Corrigir Coluna de Datas com Falha----------#
>   duff = merge(b.cor, Data, all = TRUE)
>   str(duff)
>
>   #----------Criando Graficos----------#
>   pdf(paste0('C:\\Users\\Yury\\Desktop\\Fernandes\\Graphs\\', a[i],
> '.pdf'), width = 20, height = 14)
>   matrixplot(dwi(duff, var.type="Days"),ColorRamp="Days", main =
> "Estação_b")
>   dev.off()
>
> }
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
>
> _______________________________________________
> 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.
>



-- 


Rodrigo Oliveira
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180105/df18e6b7/attachment.html>


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