Hin und wieder muss ich eine Funktion ausführen, die viel Zeit in Anspruch nimmt, und ich muss die Verarbeitung unterbrechen, bevor sie abgeschlossen ist. Um dies zu tun, klicke ich auf das rote Zeichen von "stop" oben in der Konsole in Rstudio, das die folgende Nachricht oft zurückgibt:
R antwortet nicht auf Ihre Anforderung, die Verarbeitung zu unterbrechen. Um die aktuelle Operation zu stoppen, müssen Sie R möglicherweise vollständig beenden.
Durch das Beenden von R wird Ihre R-Sitzung sofort abgebrochen. Aktive Berechnungen werden unterbrochen und nicht gespeicherte Quelldateiänderungen und Arbeitsbereichsobjekte werden verworfen.
Möchten Sie R jetzt beenden?
Das Problem ist, dass ich auf "Nein" klicke und dann scheint Rstudios komplett einzufrieren. Ich würde gerne wissen, ob andere ein ähnliches Problem haben und ob es irgendeinen Weg gibt, dies zu umgehen.
Gibt es eine Möglichkeit, einen Prozess in Rstudio schnell zu stoppen, ohne die Objekte im Arbeitsbereich zu verlieren?
Leider kann RStudio derzeit R in einigen Situationen nicht unterbrechen:
R führt ein externes Programm aus (z. B. können Sie system("sleep 10")
nicht unterbrechen),
R führt (zum Beispiel) einen C / C ++ - Bibliotheksaufruf aus, der R nicht die Möglichkeit bietet, nach Interrupts zu suchen.
In einem solchen Fall besteht die einzige Möglichkeit darin, den R-Prozess zwangsweise zu beenden - hoffentlich könnte sich das in einer zukünftigen Iteration von RStudio ändern.
Dies kann passieren, wenn R nicht innerhalb von R arbeitet und einen externen Bibliotheksaufruf aufruft. Die einzige Möglichkeit besteht darin, das Projektfenster zu schließen. Glücklicherweise bleiben ungesicherte Änderungen einschließlich Objekte beim erneuten Öffnen von RStudio erhalten.