2010-06-12 17 views
14

¿Alguien puede compartir su experiencia en el flujo de trabajo para el desarrollo de R bajo el ESS? Intenté varias veces aprender emacs, pero aún no lo entiendo. Puedo entender ESS como editor, pero ¿hay una vista de proyecto en ESS? ¿Cuál es la manera eficiente de configurar/ver el directorio, la codificación y las pruebas del proyecto R, y cómo ESS tiene una ventaja para facilitar todo el proceso?Flujo de trabajo de ESS para el desarrollo de proyecto/paquete de R

¿Utiliza ESS como un buen editor R solamente o tiende a emular un entorno R IDE dentro de ESS?

Gracias por cualquier consejo.

+0

Véase también http://stats.stackexchange.com/questions/10987 y http://stats.stackexchange.com/questions/2910 – naught101

Respuesta

10

No estoy exactamente seguro de lo que espera como respuesta en este caso. Yo, por ejemplo, he robado (y adaptado) un sistema que fue sugerido here a little while ago (by Josh Reich):

crear una carpeta para cada proyecto, y dividir su trabajo en un montón de diferentes archivos .R:

  • carga .R para obtener sus datos sin procesar en R;
  • Prep.R para limpiar los datos, recodificar variables, etc .;
  • Func.R para codificar cualquier función personalizada que necesite para la evaluación; y
  • Eval.R para ejecutar sus cosas finales.

Si eso no se ajusta a su estilo, simplemente cámbielo.

Luego, puede tener un archivo maestro para llamar a cada una de las partes una después de la otra (bueno para la reproducibilidad), o guardar en diferentes etapas y hacer que los scripts individuales carguen los datos apropiados (bueno si algunos de los preparativos el trabajo es muy computacional/intensivo de tiempo).

**

En otro orden de cosas, el truco que se publica en el enlace realmente me ayudó a entrar en ESS. Convierte Shift-Enter en una ventanilla única de ESS-shop: http://www.kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess/

+0

gracias por el gran truco shift-enter. – ahala

+0

¡Me alegro de que haya sido útil! – Vincent

12

Parece que estás haciendo dos preguntas por separado. Una pregunta se refiere al flujo de trabajo y la otra concierne al uso de ESS. Al usar StatET y Eclipse, solo compartiré mi experiencia con respecto al aspecto del flujo de trabajo de su pregunta.

Al igual que con Vicente También sigo algo así como el flujo de trabajo establecido por Josh Reich aquí (véase también útiles comentarios de Hadley): Workflow for statistical analysis and report writing

Aunque puede variar entre proyectos, que tienden a tener un par de R principal archivos

  • import.R: Esto importa archivos de datos y hace cualquier limpieza necesaria y la manipulación
  • analyse.R: Esto genera la salida que necesito para cualquier informe final
  • main.R: Esto requiere import.R y analyse.R

El objetivo es que import.R y analyse.R para representar el flujo de trabajo completo y definitivo para la producción de los resultados finales de todos los análisis.

En términos de una estructura de directorios para un proyecto de análisis, voy a menudo también tienen las siguientes carpetas

  • datos: para almacenar los archivos de datos en bruto
  • meta: para almacenar meta datos, como etiquetas de variables, sistemas de puntuación para pruebas, información de recodificación, etc.
  • salida: para almacenar cualquier gráfico, tabla o texto generado por mis análisis que pueda querer para incorporar a un programa externo
  • temp: Al explorar los datos y los análisis de lluvia de ideas, me gusta escribir el código en archivos en lugar de usar la consola. Tiendo a etiquetar estos temp1.R, temp2.R, temp3.R. Los guardo en una carpeta temporal. De esa manera tengo un registro permanente que es de fácil acceso. Si los análisis se vuelven definitivos, se incorporan en uno de los principales archivos R (es decir, import.R o analysis.R)
  • funciones: Si creo que se necesitará una función en un par de proyectos, a menudo colocarlo una función por archivo o un conjunto de funciones relacionadas en un archivo en una carpeta llamada funciones. Esto hace que sea relativamente fácil reutilizar las funciones en todos los proyectos, cuando los requisitos formales de desarrollo de paquetes son más que necesarios.
  • biblioteca: Si quiero crear algunas funciones generales que creo que va a ser específicos del proyecto, voy a colocarlos en esta carpeta
  • Guardar: Una carpeta para almacenar cualquier guardan objetos R

StatET y Eclipse facilitan la interacción con un sistema de archivos de este tipo. Por supuesto, dados todos los gurús que usan ESS y Emacs, estoy seguro de que también maneja bien las interacciones con el sistema de archivos.

+0

Editó la respuesta original para obtener el nombre correcto. Gracias por encontrar la página Jeromy! – Vincent

3

Otros te han dado algunas buenas ideas sobre cómo configurar tu directorio/estructura de archivos para un proyecto.

También ha preguntado acerca de "vistas de proyectos", en cuyo caso es posible que desee consultar el Emacs Code Browser (ECB).

puede encontrar algunas capturas de pantalla de la misma en la acción en su sitio, aquí: http://ecb.sourceforge.net/screenshots/index.html

+0

Gracias. Esto es lo que estoy buscando. – ahala

Cuestiones relacionadas