2011-01-20 12 views
8

Mi rendo conto che ho sovrascritto un file .R che mi ha richiesto del tempo per la creazione. È possibile vedere nel mio .RData i comandi che ho eseguito? Ho sempre salvato i miei file come script esterni e non ho mai usato il file .RData prima quindi non so davvero cosa fare e ho paura di perderlo per sempre.Utilizzo del file .RData

risposta

10

Hai un file nella directory ".Rhistory"? Questo file potrebbe essere nascosto su sistemi Linux. ?

Leggi la pagina di aiuto storia

+0

Sì - è lì; grazie per il consiglio. Ho appena provato a caricarlo, e 'history (max.show = Inf)' ma non torna abbastanza lontano perché è un giorno troppo breve. – djq

0

Credo che il .rdata è lo stesso risultato che si otterrebbe se si esegue save.image() - consente di risparmiare tutto quello che si vede quando si digita ls() È possibile ripristinare questa trascinandola nella il vostro R Console o eseguendo il comando load(".RData")

10

questo non è davvero una risposta diretta alla tua domanda, ma qualche consiglio da il Pragmatic Programmer che mi ha servito tempo ben più e più volte per evitare situazioni come questa:

Usa sempre il codice sorgente di controllo

Se un processo è valsa il tempo impiegato per registrare i passi in un file .R, allora dovrebbe essere protetta da un sistema di controllo del codice sorgente. Questo ti dà molti vantaggi importanti, due dei quali sono:

  • È possibile recuperare o riavvolgere i file che fornisce protezione contro la cancellazione o modifiche accidentali che, un'ora dopo, comincia a sembrare che non erano una buona idea, dopo tutto.

  • Il tuo lavoro viene eseguito il backup in una o più posizioni. Preferibilmente su computer diversi.

Se non avete mai usato controllo del codice sorgente prima, qui ci sono alcune risorse per iniziare:

  • Git è un grande sistema che ha il vantaggio di essere distribuito che rende i file molto difficile da perdere. gitref.org è un ottimo punto per conoscere Git e lo GitHub offre un ottimo hosting per i repository Git off-site.

  • Mercurial è un altro buon sistema distribuito. Joel Spolsky, uno dei co-fondatori di questo stesso sito, ha scritto un'ottima guida allo hginit.com. Bitbucket è un ottimo posto per ospitare repository Mercurial fuori sito --- consentono persino archivi privati ​​illimitati se devi controllare l'accesso al tuo lavoro.

Imparare controllo del codice sorgente è stato senza dubbio l'investimento più importante che abbia mai fatto in uno strumento di programmazione. Si ripaga la prima volta che si presenta una situazione come questa.

+0

Apprezzo il consiglio. Mi sono dilettato con Github un paio di volte, ma non ho mai capito bene. Devo iniziare a usarlo; in particolare perché si trattava di un complicato file .R che non sono sicuro di poter ricreare. – djq

+0

Quale sistema operativo stai utilizzando? – aL3xa

+0

Lavorando con Notepad ++ (e NppToR) è possibile utilizzare "copia di backup" dei file creati dopo ogni salvataggio di file. Soluzione solo per Windows. – Marek

2

Se si utilizza la distribuzione GNU/Linux, è molto probabile che siano già presenti backup nella directory di lavoro.Tutto quello che dovete fare è usare:

  • nella shell bash:

    ls -a | grep ~$

  • in R:

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

noti che -a e all.files = TRUE siamo necessario solo se si desidera cercare i file nascosti (a partire da .), altrimenti si può facilmente ometterlo.

Ma si consiglia di utilizzare Git o SVN o altri VCS, come già suggerito da Sharpie. Consiglierei Git (principalmente a causa di GitHub). Anche se questo è utile solo se stai ospitando un progetto open-source, altrimenti dovrai pagare i servizi GitHub (e presumo che ti piacerebbe saltarlo, vero?)

+0

Sto usando un Mac con OSX - è vero anche per questo? – djq