Ich bekomme den folgenden Fehler, wenn ich versuche, HTML in Rtudio zu stricken.
%Vor%Ich verwende RStudio auf einer 64-Bit-Win8-Maschine.
Wenn Sie "HTML stricken" ausführen, versucht der Code, die gelesene Datei in dem Verzeichnis zu finden, in dem sich .Rmd
befindet, da knitr
das Arbeitsverzeichnis auf diesen Pfad setzt. Soweit ich sehe, haben Sie zwei Möglichkeiten.
.Rmd
-Datei in /
und Daten in /data
haben, sollte der relative Pfad beispielsweise read.table("./data/myfile.csv"...)
sein. .
bedeutet "hier" (wo auch immer getwd()
ist), zwei Punkte klettern die Verzeichnisstruktur nach oben, während das Spezifizieren von Verzeichnissen die Struktur nach oben klettert. Manchmal ist es ärgerlich für den ausführenden Pfad der Rmd-Datei, besonders wenn die rmd-Datei nicht im Stammverzeichnis eines Projekts gespeichert wird. Ich normalerweise rmd im Berichtsordner, um alle temporären Dateien im Projektstamm zu vermeiden (z. B. Report / myreport.Rmd).
Zum Beispiel gibt es eine Datei myfile.csv im Ordner Resources. In der rmd-Datei muss ich zwei Punkte angeben, um den Dateipfad anzugeben:
%Vor%Aber der Dateipfad ist nicht korrekt, wenn ich meinen Code in der Konsole eines Rstudio-Projekts testen möchte, da das normale Arbeitsverzeichnis der Stammordner des Projekts ist. Also muss ich zwei Punkte aus dem Dateipfad entfernen:
%Vor%Ich habe eine einfache Funktion geschrieben, um dieses Problem für mich selbst zu lösen ( Ссылка ). Die Funktion project_filepath erzeugt einen neuen Pfad, der relativ zum Stammordner eines Projekts ist. Das Arbeitsverzeichnis könnte also ein beliebiger Unterordner in einem Projekt sein. Der folgende Code funktioniert für Rmd-Datei und Konsole.
%Vor%Sie müssen absolute Pfade oder relativ zu Ihrem Projektordner festlegen, wie andere Autoren erwähnen. Sie können auch setwd (Pfad).
Aber das ist nicht genug für mich. Aus irgendeinem Grund muss ich alle meine Daten in den ersten Block der R-Befehle in der .RMD-Datei laden, ansonsten bekomme ich das gleiche Fehler wie Sie.
Mit anderen Worten:
%Vor%