2016-10-08 2 views
1

Ich bin neu in der R-Programmierung und habe Schwierigkeiten, einen Datenrahmen aus einer Reihe von Textdateien zu erstellen. Ich habe ein Verzeichnis mit mehr als 100 Textdateien. Jede der Dateien hat einen anderen Dateinamen, aber die Inhalte haben ein ähnliches Format, z. 3 Spalten (Name, Alter, Geschlecht). Ich möchte jede der Textdateien in R laden und sie in 1 Datenrahmen zusammenführen.Erstellen eines Datenrahmens mit dem Inhalt von mehreren TXT-Dateien

Bisher habe ich:

txt_files = list.files(path='names/', pattern="*.txt"); 
do.call("rbind", lapply(txt_files, as.data.frame)) 

Diese Liste der Dateinamen erstellt hat, aber nicht den Inhalt der Dateien. Ich kann den Inhalt einer Datei einlesen und einen Datenrahmen erstellen, aber ich kann es anscheinend nicht für mehrere Dateien gleichzeitig machen. Wenn jemand irgendeine Hilfe anbieten könnte, würde ich es wirklich schätzen, da ich völlig festsitze!

Vielen Dank im Voraus!

+0

Ersetzen Sie 'as.data.frame' durch' read.table' –

+0

Danke @Rich. Ich habe das ausprobiert und aus irgendeinem Grund gibt es nur die Ausgabe zurück: NULL> txt_files> character (0) ..... Ich hatte ein Problem mit dem "Fehler in Datei (Datei," rt "): kann die Verbindung nicht öffnen" Fehler, den ich gelöst habe, aber ich habe kein Glück damit. Danke für Ihre Hilfe. – Karen

Antwort

1

Ich glaube, Sie so etwas wie dies wünschen könnte:

# Put in your actual path where the text files are saved 
mypath = "C:/Users/Dave/Desktop" 
setwd(mypath) 

# Create list of text files 
txt_files_ls = list.files(path=mypath, pattern="*.txt") 
# Read the files in, assuming comma separator 
txt_files_df <- lapply(txt_files_ls, function(x) {read.table(file = x, header = T, sep =",")}) 
# Combine them 
combined_df <- do.call("rbind", lapply(txt_files_df, as.data.frame)) 

Mindestens die für mich gearbeitet, wenn ich ein paar Beispieltextdateien erstellt. Hoffe, dass hilft.

Verwandte Themen