2011-09-21 7 views
12

me gustaría ser capaz de escribir el contenido de un archivo de ayuda en I a un archivo desde R. Las siguientes obras de la línea de comandos:¿Cómo escribir los contenidos de la ayuda a un archivo desde dentro de R?

  • R --slave -e 'library(MASS); help(survey)' > survey.txt
    • Este comando escribe el archivo de ayuda para el archivo de datos de la encuesta
    • --slave cueros tanto el símbolo inicial y comandos introducidos desde el resultantes de salida
    • -e '...' envía el comando a R
    • > survey.txt escribe la salida de la I en el fichero de

Sin embargo, esto no parece funcionar:

library(MASS) 
sink("survey.txt") 
help(survey) 
sink() 
  • ¿Cómo puedo guardar el contenido de un archivo de ayuda a un archivo desde dentro de R?
+0

Usted debe ser capaz de hacerlo mejor que esto .R mismo está procesando el marcado Rd, por lo que ** debe ** ser analizadores y convertidores en 'herramientas' y otros paquetes R base. –

+1

relacionado con [R página de ayuda como objeto] (http://stackoverflow.com/questions/8918753/r-help-page-as-object). –

Respuesta

15

Parece que las dos funciones que necesitaría son tools:::Rd2txt y utils:::.getHelpFile. Esto imprime el archivo de ayuda en la consola, pero es posible que deba manipular los argumentos para que escriba en un archivo de la manera que desee.

Por ejemplo:

hs <- help(survey) 
tools:::Rd2txt(utils:::.getHelpFile(as.character(hs))) 

Dado que estas funciones no se exportan actualmente, no recomendaría que se basan en ellos para cualquier código de producción. Sería mejor usarlos como guía para crear su propia implementación estable.

3

Si bien las instrucciones de Joshua funcionan a la perfección, me encontré con otra estrategia para guardar un archivo de ayuda de R; Así que pensé en compartirlo. Funciona en mi computadora (Ubuntu) donde less es el localizador R. Básicamente, solo se trata de guardar el archivo desde less.

  • help(survey)
  • A continuación, siga these instructions para salvar less memoria intermedia para presentar
    • es decir, el tipo g|$tee survey.txt
      • g va a la parte superior de la memoria intermedia de menos si no está ya allí
      • | texto de tuberías entre el rango que comienza en la marca actual
      • y terminando en $ que indica el final del búfer
      • al comando shell tee que permite la salida estándar para ser enviado en un archivo
Cuestiones relacionadas