2017-02-17 1 views
0

Ich verwende die neueste Version von R (3.3.2), in der neuesten Version von RStudio (1.0.136) auf MacOS Sierra (10.12.3). Ich stoße auf ein Problem, bei dem mein Arbeitsverzeichnis dem Verzeichnis entspricht, in dem sich die .RMD-Datei befindet, die ich gerade in RStudio geöffnet habe. Nach dem Öffnen der Datei ist das Arbeitsverzeichnis korrekt auf das Verzeichnis mit der Datei .Rproj eingestellt. Wenn ich eine Datei mit einem relativen Pfad zu diesem Verzeichnis einlege, erhalte ich jedoch den Fehler, dass es im aktuellen Arbeitsverzeichnis keine solche Datei gibt, und der Fehler gibt den Speicherort der .RMD-Datei als dieses Arbeitsverzeichnis zurück.Problem: Arbeitsverzeichnis in R Studio "stuck" auf Verzeichnis mit offenen R Markdown-Datei

Das Arbeitsverzeichnis, aber (mit getwd()) liest immer noch, wo das Arbeitsverzeichnis sein sollten, und egal, wo ich versuche, es zu setzen, bekomme ich immer noch die gleiche Fehlermeldung, wenn ich versuche, in einem lesen Datei. Bemerkenswerterweise bekomme ich KEINE Fehlermeldung, dass das Arbeitsverzeichnis nicht geändert werden kann - R sagt mir, dass das Arbeitsverzeichnis geändert wurde, und dieses Verzeichnis ist angeblich das aktuelle Arbeitsverzeichnis ... aber das ist es nicht.

Ich habe versucht (soweit ich weiß), R und R Studio zu deinstallieren und neu zu installieren, vergeblich. Hat jemand eine Lösung? Das frustriert mich gerade jetzt, da ich alle relativen Pfade in den Notizbüchern, die ich für meine Arbeit definiert habe, revidieren muss.

Zusätzliche Informationen, falls relevant: Ich habe von einer Time Machine-Sicherung wiederhergestellt, von der ich vermute, dass sie irgendwie beschädigt wurde. einige Inhalte meines Anwendungsordners fehlten, die ich manuell verschieben musste. Könnte das das Problem verursachen? Gibt es andere Systemdateien, von denen R abhängt, wenn ich mit dem Dateisystem, auf das ich schauen kann, interagiere? Ich versuche, eine saubere Betriebssysteminstallation oder eine stückweise Wiederherstellung meiner Dateien zu vermeiden, da ich nicht weiß, ob das tatsächlich das Problem ist.

Vielen Dank im Voraus!

+0

Können Sie das Arbeitsverzeichnis ändern, wenn * nicht * mit RStudio? – Gregor

+0

Haben Sie Probleme beim Versuch, eine .RMD-Datei zu stricken? Wenn dies der Fall ist, behandeln alle Code-Chunks das Stammverzeichnis als Verzeichnis für die .Rmd, nicht das Projekt. Wenn es sich beispielsweise um ein Verzeichnis unterhalb Ihres Projektverzeichnisses handelt, können Sie 'knitr :: opts_knit $ set (root.dir = '../')' 'hinzufügen, um Pfaddateien relativ zum Projektverzeichnis zu machen. –

+0

@Gregor Yup! Kein Problem, wenn Sie nicht RStudio verwenden und denselben Code, der sich in der .RMD-Datei befindet, direkt in die R-Konsole schreiben. –

Antwort

2

Dies ist eine bekannte feature/bug von RStudio Notebooks (Arbeitsverzeichnis etwa auf halbem Weg). Notizbücher werden im selben Verzeichnis wie die Datei ausgeführt. Wie @Simon Jackson bemerkte, können Sie dies unter knitr::opts_knit$set(root.dir = normalizePath()) ändern.

+0

Danke für die Info! Das scheint mir komisch, da ich in einem Seminar mit einer Reihe von Leuten arbeite, die aus den gleichen Dateien arbeiten, die ein anderes RStudio-Verhalten haben als ich mit den gleichen Versionen ... Ich werde diesen Code als Workaround verwenden, so danke! –

+0

Ist das zufällig neues Verhalten? –

+0

Ich glaube nicht. Ich bin mir ziemlich sicher, dass ich mich daran erinnere, es in der Vorschau zu sehen. –