2011-01-20 36 views
8

Me doy cuenta de que sobrescribí un archivo .R que me llevó algo de tiempo crear. ¿Es posible ver en mi .RData los comandos que ejecuté? Siempre guardé mis archivos como scripts externos y nunca antes había usado el archivo .RData, así que no sé realmente qué hacer y tengo miedo de perderlo para siempre.Utilizando el archivo .RData

Respuesta

10

¿Tiene un archivo en su directorio llamado ".Rhistory"? Este archivo puede estar oculto en sistemas Linux. ?

Leer la página de ayuda de la historia

+0

Sí, está allí; gracias por el consejo. Acabo de intentar cargarlo, y 'history (max.show = Inf)' pero no retrocede lo suficiente ya que es un día demasiado corto. – djq

0

creo que el .RData está el mismo resultado que se obtendría si se ejecuta save.image() - que guarda todo lo que ves cuando escribe ls() Puede restaurar esta arrastrándolo hasta el R de la consola, o ejecutando el comando load(".RData")

10

esto no es realmente una respuesta directa a su pregunta, pero algunos consejos de el programador pragmático que me ha servido una y otra vez bien para evitar situaciones como esta:

control Utilice el código fuente siempre

Si un proceso valía la pena el tiempo que tardó en grabar los pasos en un archivo .R, entonces debe ser protegida por un sistema de control de código fuente. Esto le da muchos beneficios importantes, dos de los cuales son:

  • Puede recuperar o rebobinar los archivos que proporciona una protección contra la eliminación o modificación accidental que, una hora más tarde, comienza a parecer como que no eran una tan buena idea después de todo.

  • Su trabajo está respaldado en una o más ubicaciones. Preferiblemente en diferentes computadoras.

Si usted nunca ha utilizado el control de código fuente antes, aquí hay algunos recursos para empezar:

  • Git es un gran sistema que tiene la ventaja de ser distribuido que hace que sus archivos muy difícil de perder gitref.org es un gran lugar para aprender sobre Git y GitHub ofrece un excelente alojamiento para repositorios Git fuera del sitio.

  • Mercurial es otro buen sistema distribuido. Joel Spolsky, uno de los cofundadores de este mismo sitio, escribió una excelente guía al hginit.com. Bitbucket es un gran lugar para alojar repositorios Mercurial fuera del sitio; incluso permiten repositorios privados ilimitados si necesita controlar el acceso a su trabajo.

El control del código fuente de aprendizaje fue sin duda la inversión más valiosa que he hecho en una herramienta de programación. Se recupera la primera vez que aparece una situación como esta.

+0

Aprecio el consejo. He incursionado con Github algunas veces, pero nunca entendí bien. Necesito comenzar a usarlo; particularmente porque era un intrincado archivo .R que no estoy seguro de poder volver a crear. – djq

+0

¿Qué sistema operativo está ejecutando? – aL3xa

+0

Al trabajar con Notepad ++ (y NppToR) puede usar "copia de seguridad" de los archivos creados después de cada archivo guardado. Solución solo de Windows. – Marek

2

Si está utilizando la distribución GNU/Linux, hay muchas posibilidades de que ya tenga copias de seguridad en su directorio de trabajo.Todo lo que tiene que hacer es utilizar:

  • en cáscara del golpe:

    ls -a | grep ~$

  • en I:

    dir(all.files = TRUE, pattern = "~$")

Tenga en cuenta que -a y all.files = TRUE son Necesario solo si desea buscar archivos ocultos (comenzando con .), de lo contrario, puede omitirlo fácilmente.

Pero definitivamente debe usar Git o SVN u otro VCS, como ya sugirió Sharpie. Recomendaría Git (sobre todo por GitHub). Aunque eso solo es útil si está alojando un proyecto de código abierto, de lo contrario tendrá que pagar los servicios de GitHub (y supongo que le gustaría omitir ese, ¿no?)

+0

Estoy usando una Mac con OSX. ¿Es cierto también para esto? – djq

Cuestiones relacionadas