2012-03-09 14 views
13

Aparte de la redirección, que captura una sesión completa, ¿hay alguna forma de iniciar y detener el registro durante una sesión R? Para aclarar, estoy buscando algo similar al comando log using en Stata.¿Cómo registro una sesión R en un archivo?

+0

También creo que esta es la pregunta más estúpida jamás publicado, pero no hay una etiqueta "tonto-pregunta". El fregadero –

Respuesta

12

¿Conoces sink() en base R?

También hay algunos paquetes de registro en CRAN: logging, log4r y posiblemente más.

Por último, los usuarios de Emacs tienen ESS y su modo de transcripción. Puede guardar su sesión como un registro y, en general, el enfoque 'trabajar desde archivo y ejecutar desde el archivo' crea un registro (parcial, solo de comandos) mientras trabaja.

+0

() era exactamente lo que estaba buscando, pero no se le dio ningún nombre. Como dije en mi comentario, sé que esto es tonto. ¡Gracias! –

4

Hay savehistory(file) que escribirán el historial completo como texto sin formato o, si está intentando registrar el resultado, use sink(file, split = TRUE).

2

Además de la función sink también se podría hacer en los txtStart y funciones relacionadas en el paquete TeachingDemos o la funcionalidad similar en el paquete R2HTML (que llegó por primera vez).

2

En aras de completar la respuesta usando el fregadero

# copy the log to a text file 
sink("./logofcode.txt") 
Your R code(s) goes here 
you can use a stored R code as well using source() 
source("./XS_SPEC_CF.R",echo=T, max.deparse.length=1e3) 
sink() 
+0

Desde que tengo que hacer esto muy a menudo, lo convierten enfoque de usct01 en una pequeña función: 'source_with_log <- function (r_script, archivo_registro) { fregadero (file = archivo_registro) fuente (r_script, eco = VERDADERO) fregadero() } ' –

Cuestiones relacionadas