En general, sí adopto la estrategia de Dirk. Debe apuntar a que su código sea un registro completamente reproducible de cómo ha transformado sus datos brutos en resultados.
Sin embargo, si tiene un código complejo, puede llevar mucho tiempo volver a ejecutarlo. He tenido un código que toma más de 30 minutos para procesar los datos (es decir, importar, transformar, fusionar, etc.). En estos casos, una única línea de código que destruye los datos me obligaría a esperar 30 minutos para restaurar mi espacio de trabajo. por los datos de la destrucción de código que quiere decir cosas como:
x <- merge(x, y)
df$x <- df$x^2
por ejemplo, se funde, en sustitución de una variable existente con una transformación, la eliminación de filas o columnas, y así sucesivamente. En estos casos, es fácil, especialmente cuando primero aprendes R a cometer un error.
Para evitar tener que esperar estos 30 minutos, puedo adoptar varias estrategias:
- Si estoy a punto de hacer algo donde hay un riesgo de destruir mis objetos activos, voy a copiar el resultado en primer un objeto temporal. Luego comprobaré que funcionó con el objeto temporal y luego lo volveré a reemplazar con el objeto adecuado. por ejemplo, la primera carrera
temp <- merge(x, y);
cheque que str(temp); head(temp); tail(temp)
trabajado y si todo se ve bien x <- merge(x, y)
- Como es común en la investigación psicológica, que a menudo tienen grandes tramas de datos con cientos de variables y diferentes subconjuntos de casos. Para un análisis dado (p. Ej., Una tabla, una figura, algún texto de resultados), a menudo extraigo solo el subconjunto de casos y variables que necesito en un objeto separado para el análisis y trabajo con ese objeto al preparar y finalizar mi código de análisis. De esta forma, es menos probable que dañe accidentalmente mi marco de datos principal.Esto supone que los resultados del análisis no necesitan volver a introducirse en el marco de datos principal.
- Si he terminado de realizar una gran cantidad de transformaciones de datos complejas, puedo guardar una copia de los objetos principales del espacio de trabajo. Por ejemplo,
save(x, y, z , file = 'backup.Rdata')
De esa manera, si me equivoco, solo tengo que volver a cargar estos objetos.
df$x <- NULL
es una forma práctica de eliminar una variable en una trama de datos que usted no desea crear
Sin embargo, al final todavía ejecutar todo el código desde cero para comprobar que el resultado es reproducible.
Me gustaría ofrecer mis dos centavos por esto. Mi editor preferido es Eclipse + StatEt, pero, como dice Dirk, la elección del editor es subjetiva ... – PaulHurleyuk
Me gusta usar Gedit + RGedit. (nunca logramos instalar StatET bajo Fedora desafortunadamente). Así que ahora tenemos 4 centavos;) – nico
Si usted es un usuario de Windows, siempre puede probar Tinn-R. Yo no lo uso, pero he escuchado cosas geniales al respecto. Ahora tenemos 6c. :) –