2017-11-14 2 views
0

Ich habe viele Dateien, die ich von sas7bdat zu Rds mit R konvertieren will, ich den folgenden Code verwenden:Schleife zum Umwandeln von Dateien

name <- read_sas("C:/Users/Desktop/Files/name.sas7bdat") 
saveRDS(name, file = "C:/Users/Desktop/RDSfiles/name.Rds") 

aber es gibt zu viele Dateien, die ich auf eine Schleife verwenden mag Optimieren, um irgendwelche Ideen zu verarbeiten?

Vielen Dank !!

+0

[This] (https://stackoverflow.com/questions/40063507/how-to-loop-through-a-folder-of-csv-files-in-r) kann helfen. – ANG

Antwort

3

Dieses einfache Schleife, die ich verwenden würde:

path_sas7bdat <- "C:/Users/Desktop/Files/" 
path_RDS <- "C:/Users/Desktop/RDSfiles/" 

files <- list.files(path_sas7bdat, pattern = "sas7bdat") 

for(i in files) { 
    saveRDS(read_sas(paste0(path_sas7bdat, i)), 
      paste0(path_RDS, gsub("sas7bdat", "RDS", i))) 
} 

PS collapse = FALSE für Geschwindigkeit .: überprüfen saveRDS Option.

+0

Ich würde das gleiche tun, aber mit 'file.path' anstelle von' Einfügen' (und keine abschließenden '/' auf Ordner). – Frank

+0

Es scheint zu funktionieren, aber gibt mir einen Fehler: Evaluierungsfehler: kann Vektor der Größe 11,7 Mb nicht zuordnen. – Mee

+0

@Mee es sollte Ihr Computerproblem sein, welches System ist das, wie viel Speicher haben Sie? – PoGibas

Verwandte Themen