2013-01-02 12 views
10

Obliczał ogromną ilość danych, które trwały dwa tygodnie. Kiedy próbowałem wyeksportować dane do użycia w MS SQL, mój RStudio się zawiesił i musiałem go ponownie otworzyć. Teraz, gdy próbuję szukać danych, wydaje się, że ich brakuje !!! YIKES!RStudio - jak odzyskać dane po awarii?

Czy te dane znajdują się gdzieś w pliku lub czy wszystkie dane, z którymi pracowałeś w tej sesji, znikają?

Przepraszamy za moją nieznajomość R. Jestem całkiem nowy.

Z góry dziękuję za pomoc.

+1

Czy zapisałeś jakieś pośrednie wyniki w trakcie tych dwutygodniowych obliczeń? –

+0

Nic nie zapisałem. Wyniki były w porządku. Obliczenia zostały zakończone. Spojrzałem na dane i wszystko było w porządku. Następnie, gdy próbowałem wyeksportować dane za pomocą RODBC, byłem zmuszony zamknąć RStudio i teraz nie widzę danych! – eqsf

+3

R przechowuje dane w pamięci, więc jeśli w cudowny sposób kopia R, z której korzystał RStudio, nadal działa, chyba że zapisałeś ją na dysku w pewnym momencie masz kłopoty ... Ogólnie rzecz biorąc, w przypadku jakichkolwiek znaczących obliczeń, Warto kod, aby "zapisać" wyniki pośrednie w całym tekście. Uruchomiłem rzeczy na klastrze i miałem prosty błąd, zanim zapisałem wyniki, zniszczyłem kalkulację dnia (na 40 maszynach, więc 40 dni czasu obliczeniowego!). –

Odpowiedz

8

Mam zamiar przykleić mi szyję i powiedzieć, że nie możesz.

Ponieważ R wykonuje wszystkie obliczenia "w pamięci", nie sądzę, aby można było odzyskać wszystko. R Studio ma kilka ciekawych funkcji, które pozwalają odzyskać edytowane skrypty, ale nie jest to R i nie zawiera danych w pamięci. Pod koniec dnia R Studio jest po prostu interfejsem IDE/interfejsem do aplikacji R, który jest o wiele bardziej przyjazny dla użytkownika niż domyślny R Gui (który jest również tylko interfejsem do R).

Moim zdaniem, R jest dość stabilny, ale niektóre z pakietów, które są bardzo przydatne, są również mniej stabilne. Z mojego doświadczenia wynika, że ​​RODBC jest jednym z nich. Podejrzewam, że skomplikowane jest tworzenie czegoś, co jest niezawodne w wielu systemach operacyjnych i wielu bazach danych.

Zdecydowanie zaleca się przechowywanie jakichkolwiek danych jako pliku RDS lub RData przy użyciu saveRDS lub zapisanie, a następnie załadowanie tych danych do R, a następnie do SQL w oddzielnej procedurze. Zapisywanie danych R za pomocą wbudowanych funkcji powinno być bardzo niezawodne.

Ogólnie rzecz biorąc, zachowanie R dla ODBC będzie działało oddzielnie, co znacznie ułatwia debugowanie.

Przepraszam za twoje szczęście związane z odzyskiwaniem danych i mam nadzieję, że łatwiej będzie je ponownie uruchomić, niż początkowo (tj. Mam nadzieję, że nie był to nieprzerwany wyliczany tydzień).

Powiązane problemy