Ich habe eine R-Markdown-Datei erstellt, die mit dem Laden einer Datei aus dem Web beginnt. Ich fand den Cache = TRUE etwas flockig, daher möchte ich eine if-Bedingung einfügen, um vor dem Herunterladen nach der heruntergeladenen Datei zu suchen.
Aktueller Code - Lädt immer die Datei herunter
fileURL <- "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"
setInternet2(TRUE)
download.file(fileURL ,destfile="./data/samsungData.rda",method="auto")
load("./data/samsungData.rda")
Gewünschter Code - nur hochladen, wenn nicht bereits heruntergeladen
destfile="./data/samsungData.rda"
fileURL <-
"https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"
if (destFile doesNotExist) {
setInternet2(TRUE)
download.file(fileURL ,destfile,method="auto") }
load("./data/samsungData.rda")
}
load(destfile)
Welche Syntax gibt mir die Bedingung "destFile doesNotExist"
file.exists
(oder!file.exists
) scheint hier die wahre Magie zu sein, da das OP darum gebeten hat.Gemäß der Antwort von @agstudy
destfile="./data/samsungData.rda" fileURL <- "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda" if (!file.exists(destfile)) { setInternet2(TRUE) download.file(fileURL ,destfile,method="auto") } load("./data/samsungData.rda") } load(destfile)
quelle
load(".data/samsungData.rda")
in den bedingten Block aufzunehmen, da Sie es zweimal laden, wenn die Datei nicht vorhanden ist.Eine einfache Möglichkeit, die Existenz einer Datei in Ihrem Arbeitsverzeichnis zu überprüfen, ist: which (list.files () == "nameoffile.csv")
Dies beantwortet seine Frage nicht genau, aber ich dachte, dies könnte für jemanden hilfreich sein, der einfach überprüfen möchte, ob sich eine bestimmte Datei in seinem Verzeichnis befindet.
quelle