[R-br] Usando objetos do .GlobalEnv no rmarkdown para pdf

Pedro Emmanuel Alvarenga Americano do Brasil emmanuel.brasil em gmail.com
Qua Jan 19 10:48:57 -03 2022


Ei turma,

Obrigado pela ajuda aqui. Revendo o código eu descobri alguns erros bobos
nos nomes do Meusdados.RData. Mesmo assim, executar o plot dentrdo do *.Rmd
não estava dando certo. Então eu dei uma fuçada no include_graphics e ficou
assim (dando certo). Nao tenho certeza absoluta se foi so isso que fez a
diferença mas...

```{r fluxograma, warning=TRUE, paged.print=TRUE}
knitr::include_graphics(here("resultados",paste0("Fluxograma_exclusao_",Sys.Date(),".png")),
auto_pdf = TRUE)
```
Esse auto_pdf significa se houver um pdf de mesmo nome que o arquivo png no
mesmo diretório, ele carrega o pdf no lugar do png. De fato essa figura
tinha um pdf no mesmo diretório. Veremos se nas próximas figuras haverá o
mesmo problema.

Pedro Brasil


Em ter., 18 de jan. de 2022 às 13:18, Cesar Rabak <cesar.rabak em gmail.com>
escreveu:

> Exclusivamente durante a fase de geração do relatório corrente "copie" o
> arquivo para um nome fixo, corra todo o processo e no fim exclua apenas
> esse "arquivo temporário de nome fixo" para fazer de novo no seu "... bla
> bla blá..."
>
>
>
> On Tue, Jan 18, 2022 at 12:11 PM Pedro Emmanuel Alvarenga Americano do
> Brasil por (R-br) <r-br em listas.c3sl.ufpr.br> wrote:
>
>> Ei Daniel,
>>
>> Eu já tinha pensado nesta alternativa mas eu cairia em outro problema. Eu
>> salvo os arquivos com as datas nos nomes por exemplo
>>
>> png(paste0("Meugrafico_",Sys.Date(),".png"))
>> bla bla bla
>> dev.off()
>>
>> Então pra chamar o grafico precisaria ser dentro do chunk do R. Eu tentei
>>
>> ```{r fluxograma, include=TRUE}
>>
>> knitr::include_graphics(here("resultados",paste0("Fluxograma_exclusao_",Sys.Date(),".png")))
>> ```
>> Mas de novo o html está ok e o pdf retorna que não encontra o arquivo.
>> Engraçado é que dentro do .Rmd sempre funciona quando peço pra executar
>> somente este chunk.
>>
>> Eu também tentei ...
>>
>>
>> ```{r setup, include = FALSE}
>> knitr::opts_chunk$set(echo = FALSE)
>> knitr::opts_chunk$set(cache = TRUE)
>> knitr::opts_chunk$set(error = TRUE)
>> library(here)
>> library(DiagrammeR)
>> load(here("dados",paste0("Meusdados_",Sys.Date(),".Rdata")))
>> ```
>> Pra ver se carregar os dados na sessão do rmarkdown resolve... só que não!
>>
>> Pedro Brasil
>>
>>
>> Em ter., 18 de jan. de 2022 às 11:14, Daniel Guimarães Tiezzi <
>> dtiezzi em usp.br> escreveu:
>>
>>> Bom dia
>>>
>>> E se você salvar o gráfico em PNG e incluir com html (<img src="img.png"
>>> alt="image", >) ou mesmo o markdown (![Image](img.png))?
>>>
>>> daniel
>>>
>>>
>>>
>>> Em ter., 18 de jan. de 2022 às 11:04, Pedro Emmanuel Alvarenga Americano
>>> do Brasil por (R-br) <r-br em listas.c3sl.ufpr.br> escreveu:
>>>
>>>> Caros amigos de R,
>>>>
>>>> Estou trabalhando num relatório de um projeto para gerar um pdf e um
>>>> html periodicamente no final de cada semana. O passos são os seguintes: 1 -
>>>> importar os dados; 2 - aplicar as etiquetas; 3 - editar os dados; 4 - Fazer
>>>> o grafico 1; 5 - fazer o grafico 2; bla bla etc. 10 - gerar o relatório; 11
>>>> - mandar por email periodicamente. Pra cada passo eu tenho um script
>>>> separado e um script principal que chama todos eles em sequência e assim
>>>> consigo me organizar.
>>>>
>>>> A minha questão é que já trabalhei diversas vezes com o Sweave e nunca
>>>> passei por este problema, e agora começando com o rmarkdown estou batendo
>>>> cabeça. A minha questão é que no script do primeiro gráfico eu gero um
>>>> objeto "fluxp" que está salvo no disco ("meusdados.RData") e tambem está no
>>>> .GlobalEnv. Quando eu renderizo para html dá certo. Mas quando renderizo
>>>> para pdf, o arquivo vem sem a figura. Depois de pedir pra retornar os
>>>> erros, vem que ele não acha o objeto do grafico. Fuçando por ai, entendi
>>>> que a renderização abre uma sessão nova no segundo plano e por isso não
>>>> consegue achar o objeto. Mas não estou conseguindo contornar a situação.
>>>> Alguma luz?
>>>>
>>>> ---
>>>> title: "Resultado do projeto"
>>>> author: "Pedro Brasil"
>>>> date:
>>>> output:
>>>> always_allow_html: true
>>>> ---
>>>>
>>>> ```{r setup, include = FALSE}
>>>> knitr::opts_chunk$set(echo = FALSE)
>>>> knitr::opts_chunk$set(cache = TRUE)
>>>> knitr::opts_chunk$set(error = TRUE)
>>>> ```
>>>>
>>>> ## Fluxograma de inclusão e exclusão
>>>>
>>>> ```{r fluxograma, echo=FALSE, message=TRUE, warning=TRUE,
>>>> paged.print=TRUE}
>>>> DiagrammeR::grViz(fluxp)
>>>> ```
>>>> Error in DiagrammeR::grViz(fluxp): objeto 'fluxp' não encontrado
>>>>
>>>> Pedro Brasil
>>>> _______________________________________________
>>>> 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.
>>>>
>>>
>>>
>>> --
>>> Daniel Tiezzi, MD, PhD
>>> Associate Professor
>>> Breast Disease and Gynecologic Oncology Division
>>> Department of Gynecology and Obstetrics
>>> University of São Paulo
>>> Brazil
>>>
>> _______________________________________________
>> 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/20220119/cbb23d11/attachment.htm>


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