Ich habe einen großen Datenrahmen (knapp über 8.500.000 Zellen insgesamt) und ich muss einige Teilmengen dieses Datenrahmens basierend auf den Werten in einer bestimmten Spalte erstellen.Ist es möglich, Teilmengen eines Datenrahmens für jeden Wert in einer Spalte eines Master-Datenrahmens zu erstellen?
Ich bin mir bewusst, dass ich die Subsets von Hand erstellen kann und bin froh, dies zu tun, wenn es nur ein paar Werte gibt. Derzeit erhalte ich die eindeutigen Werte:
table(df$ColumnX)
und bauen dann die einzelnen Datenrahmen von dort, da es nur wenige Werte:
df.subset1 <- df[df$ColumnX == "Subset1", ]
df.subset2 <- df[df$ColumnX == "Subset2", ]
...
df.subsetX <- df[df$ColumnX == "SubsetX", ]
Aber wenn es deutlich mehr eindeutige Werte sind, wo ich sehe ein Problem, das die Verarbeitungsleistung meines Computers erfordern würde, um mein Ziel rechtzeitig zu erreichen.
Was ich wissen möchte, ist, wenn dieser Prozess automatisiert werden kann.
So etwas ist, was ich zu erreichen bin der Hoffnung:
- List values in Column X
- Create a new dataframe/subset for each value in Column X
Oder:
for(all unique values in Column X)
create a new dataframe
end for
Deshalb würde ich so etwas wie dieses haben basierend auf den Werten von ColumnX
:
df.subset1
df.subset2
...
df.subsetX
Verwenden Sie einfach 'split' heißt' dflist <- split (df df $ ColumnX) '. Dies wird Ihnen eine Liste von data.frames geben –
Ich sehe. Und wie extrahiere ich die data.frames aus der Liste? – MusTheDataGuy
Wenn Sie das Beispiel 'x <- split (iris, iris $ Species)' verwenden, können Sie die Listenelemente entweder mit 'x $ setosa' oder' x [[1]] 'oder' x [["setosa "]]' –