[R-br] capturar a saída do r

Rodrigo Ângelo drigo.angelo em gmail.com
Qua Dez 19 12:18:49 -02 2018


Oi, Cinara

Eu não cheguei a montar uma forma de reproduzir seu problema aqui, mas uma
sugestão é, em vez de desligar o sink e fechar a conexão do seu arquivo de
log, usar o comando:

flush(log_file)

Se não me engano, esse comando vai garantir que os dados no buffer
(memória) são salvos no arquivo (disco).

Espero ter ajudado,
Rodrigo Ângelo

On Wed, Dec 19, 2018 at 11:20 AM Marcos Silva por (R-br) <
r-br em listas.c3sl.ufpr.br> wrote:

> sink(). Dá uma olhada nessa função.
>
> Em 19 de dez de 2018 11:13 AM, "Cinara Santos por (R-br)" <
> r-br em listas.c3sl.ufpr.br> escreveu:
>
> Olá!
>
> Gostaria de saber da possibilidade de capturar o [console] do R de forma
> dinâmica, como no software STATA - tudo o que sai na tela é copiado para um
> arquivo de log. Se houver interrupção, o log registra até o momento da
> interrupção.
>
> E se fosse possível habilitar isso no R, me ajudaria muito!!!
>
> Digo isso porque estou usando o comando [sink()]
>
> sink(file = log_file, append = TRUE, type = "output")
>
> Ocorre que o código lida com dados muito volumosos, dentro de um loop (com
> sub-loops também). Assim, na minha inocência tentei o seguinte - são 3
> loops, um dentro do outro.
> Ao final do loop mais interno pus:
>
> - desliga o [sink()],
> - fecha o arquivo de saida (log_file - no intuito de salvar o que já tem)
> - abre o arquivo de saida (log_file)
> - "liga" o [sink]
>
>
> --------------------------
> saida <- paste(....)  #monta o nome do arquivo de saida
>
> log_file <- file(saida, open = "wt")
> sink(file = log_file, append = TRUE, type = "output")  # começa a "captura"
>
> LOOP1- inicio
>     pegar referencia no [arquivo_a]
>     LOOP2- inicio
>          montar nome [arquivo_b]
>          LOOP3(varrer [arquivo_b] - particionando) - inicio
>               tarefa1
>               tarefa2
>                  :
>               tarefa_n
>
>               sink()
>               close(log_file)
>               log_file <- file(saida, open = "at")
>               sink(file = log_file, append = TRUE, type = "output")
>
>          LOOP3( varrer [arquivo_b] - particionando  ) - fim
>     LOOP2 - fim
> LOOP1- fim
> --------------------------
>
>
> Mas parece que o arquivo continua fechando só  ao final do código, e com
> isso, se acaba a luz no meio do caminho, ou ocorre algum outro evento....
> fico na saudade...
>
> Tem remédio?????
>
> ------------------------
> Cinara Santos
> whatsApp (32) 9.8416-0441
> _______________________________________________
> 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/20181219/d4a03e5e/attachment.html>


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