Ich habe ein Szenario, in dem ich mehrere Dateien mit der gleichen Benennung habe, außer einer Nummer im Namen. Ich möchte so viele Variablen erstellen, wie ich Dateien habe. Bisher sieht mein Code so aus:
for(i in 1:26)
{
if ( i <= 9 )
{
OutFile=paste0("Iterated.Filename0",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
} else {
OutFile=paste0("Iterated.Filename",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
}
}
(Der Unterschied vor und nach der else
Anweisung ist der 0
nach "Dateiname")
Das Problem ist, dass die schließlich erstellte out
Variable (a) nur eine Variable und nicht die Variablen out1
to ist out26
und (b) sie nicht die verketteten Daten aller eingelesenen Dateien enthält, sondern nur die Daten der 26. .out
Datei.
Meine Frage ist also: Wie kann man mehrere Dateien in R so lesen, dass der Inhalt jeder Datei in einer anderen Variablen gespeichert wird? Und vor allem, wie man das macht, ohne Pandas zu verwenden?
Eine mögliche Verwendung integrierter Funktionen ist wie folgt:
paths <- sprintf("Iterated.Filename%02d.out", 1:26)
out <- lapply(paths, read.table, header=FALSE, sep="\t", dec=".", na.strings="NA")
Die Variable out
hier ist eine Liste mit 26 Datensätzen.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen