Ich frage mich, ob es möglich ist, einen neuen Datenrahmen mit bestimmten Zellen aus jeder Datei aus dem Arbeitsverzeichnis zu erstellen. zum Beispiel sagen, wenn ich 2-Datenrahmen wie diese haben (ignorieren Sie bitte die Zahlen, wie sie zufällig sind):So erstellen Sie eine einzelne Tabelle durch Extrahieren bestimmter Zellen aus mehreren CSV-Dateien
Say in jeden Datensatz, Zeile 4 die Summe meiner Wert ist und Zeile 5 ist die Anzahl der fehlende Werte. Wenn ich Anzahl von Werten als „M“ und Summe der coloumns als „N“ fehlt darstellen, was ich versuche, ist die folgende Tabelle acheive:
So wird jede Datei ‚N‘ und ‚M‘ sind in 1 Reihe.
Ich habe viele Dateien im Verzeichnis, also habe ich sie in einer Liste gelesen, aber nicht sicher, was wäre der beste Weg, um eine solche Aufgabe auf einer Liste von Dateien durchzuführen.
das ist mein Beispielcode für die Tabellen habe ich gezeigt, und wie ich sie in der Liste zu lesen:
##Create sample data
df = data.frame(Type = 'wind', v1=c(1,2,3,100,50), v2=c(4,5,6,200,60), v3=c(6,7,8,300,70))
df2 =data.frame(Type = 'test', v1=c(3,2,1,400,40), v2=c(2,3,4,500,30), v3=c(6,7,8,600,20))
# write to directory
write.csv(df, file = "sample1.csv", row.names = F)
write.csv(df2, file = "sample2.csv", row.names = F)
# read to list
mycsv = dir(pattern=".csv")
n <- length(mycsv)
mylist <- vector("list", n)
for(i in 1:n) mylist[[i]] <- read.csv(mycsv[i],header = TRUE)
Ich würde wirklich dankbar, wenn Sie mir einen Vorschlag machen könnte wäre es, wenn dies möglich ist und wie ich sollte angehen?
Vielen Dank,
Ayan
Sieht aus wie Sie die 'for' Schleife mit' lapply' ersetzen könnte. Aber lass mich fragen: Sind deine Quelldateien groß? Wenn dies der Fall ist, werfen Sie einen Blick auf 'read.table', mit dem Sie nur die gewünschten Zeilen laden können, anstatt die gesamte Datei. –