Ik voer de volgende code uit…
#Create a list of all the files
file.list <- list.files(path="~/R/natural-language-processing/class-notes", pattern=".csv")
#Loop over file list importing them and binding them together
D1 <- do.call("rbind",lapply(file.list, read.csv, header = TRUE, stringsAsFactors = FALSE))
Dit is de foutmelding die ik krijg als ik de regel do.call
hierboven uitvoer.
Fout in bestand(bestand, “rt”): kan de verbinding niet openen
Ik heb geprobeerd mijn wd opnieuw in te stellen. Mijn huidige getwd()
is
~/R/natural-language-processing
Ik heb de andere bekeken
Fout in bestand(bestand, “rt”): kan geen verbinding openen
Antwoord 1, autoriteit 100%
Hoogstwaarschijnlijk probeert u bestanden te openen vanuit de werkmap in plaats van de map waarin u list.files
hebt aangeroepen. Probeer in plaats daarvan
D1 <- do.call("rbind",
lapply(paste0("~/R/natural-language-processing/class-notes/",
file.list),
read.csv, header = TRUE, stringsAsFactors = FALSE))
Als alternatief kunt u het argument full.names
instellen op TRUE
in list.files
om volledige paden te krijgen:
file.list <- list.files(path="~/R/natural-language-processing/class-notes",
pattern=".csv", full.names = TRUE)
Antwoord 2, autoriteit 17%
read.csv zoekt naar de bestandsnamen in uw werkdirectory. Door uw werkdirectory te wijzigen in “C:/Users/Bob/Documents/R/natural-language-processing/class-notes”, zou uw code prima moeten werken.
Code:
setwd("C:/Users/Bob/Documents/R/natural-language-processing/class-notes")
Voer vervolgens uw code opnieuw uit.
Antwoord 3
Ik heb net veel tijd besteed aan het proberen te begrijpen wat er mis was met mijn code…
En het lijkt eenvoudig als je Windows gebruikt.
Als je je bestand “blabla.txt” noemt, dan noem je het “blabla.txt.txt”… Dat is hetzelfde met .CSV-bestanden, dus Windows maakt een bestand met de naam “001.csv.csv” als je aanroept het “001.csv”
Dus, als je je .csv-bestand maakt, hernoem het dan gewoon naar “001” en open het in R met read.table(“/absolute/path/of/directory/with/required/001.csv”)
Het werkt voor mij.
Antwoord 4
In mijn geval was het probleem dat zich in de map met de *.csv-bestanden ook een andere map bevond. Zodra ik de map uit de map verplaatste, verdween de specifieke fout.