2013-01-02 12 views
10

Stavo calcolando una quantità enorme di dati che impiegavano due settimane per essere eseguiti. Quando stavo cercando di esportare i dati da utilizzare in MS SQL, il mio RStudio si è bloccato e ho dovuto riaprirlo. Ora quando provo a cercare i dati sembra che manchi !!! YIKES!RStudio - come recuperare i dati dopo l'arresto anomalo?

I dati contenuti in un file o tutti i dati con cui si stava lavorando in quella sessione scompaiono?

Scusate per la mia ignoranza di R. Sono abbastanza nuovo ad esso.

Grazie in anticipo per qualsiasi aiuto.

+1

Hai salvato qualche risultato intermedio nel corso di questo calcolo di due settimane? –

+0

Non ho salvato nulla. I risultati andavano bene. I calcoli avevano completato la corsa. Ho guardato i dati e andava bene. Quindi, quando stavo cercando di esportare i dati usando RODBC, sono stato costretto a chiudere RStudio e ora non riesco a vedere i dati! – eqsf

+3

R memorizza i dati in memoria, quindi a meno che miracolosamente la copia R che RStudio stava usando è ancora in esecuzione, a meno che non lo hai salvato su disco a un certo punto sei nei guai ... In generale, per qualsiasi calcolo sostanziale, è vale la pena di salvare i risultati intermedi in tutto il codice. Ho già eseguito roba su un cluster e ho subito un semplice errore prima che i risultati salvassero il valore di un giorno di calcolo (su 40 macchine, quindi 40 giorni di tempo di calcolo!). –

risposta

8

Ho intenzione di sporgermi e dire che non è possibile.

Poiché R esegue tutti i calcoli "in memoria", non penso che sia possibile recuperare nulla. R Studio ha alcune caratteristiche interessanti che ti permettono di recuperare script che vengono modificati, ma non è R e non i tuoi dati nella sua memoria. Alla fine della giornata R Studio è solo un IDE/interfaccia per l'applicazione R, che risulta essere molto più user-friendly rispetto all'Ri Gui predefinito (che è anche solo un'interfaccia per R).

A mio parere, R è abbastanza stabile, ma alcuni dei pacchetti che sono molto utili sono anche meno stabili. Nella mia esperienza, RODBC è uno di quelli. Sospetto che sia complicato creare qualcosa che sia affidabile su molti sistemi operativi e molti database.

Si consiglia vivamente di archiviare tutti i dati come file RDS o RData utilizzando saveRDS o save, quindi caricando tali dati in R e quindi in SQL in una procedura separata. Salvare i dati R usando le funzioni integrate dovrebbe essere molto affidabile.

In generale, mantenere separato il lavoro da R a ODBC renderà molto più semplice eseguire il debug.

Ci scusiamo per la fortuna con il recupero dei dati, e spero che sia più facile rieseguire di quanto non fosse in origine (spero che non sia stata una settimana di calcolo non-stop).

Problemi correlati