Ich würde gerne einen Datenrahmen in mehrere Komponentendatenrahmen basierend auf den Werten in einer Spalte aufteilen. In meinem Beispiel möchte ich dat.1, dat.2 und dat.3 unter Verwendung der Werte in der Spalte "cond" teilen. Gibt es einen einfachen Befehl, der das erreichen könnte?
%Vor%Vielleicht, weil ich ein R-Neuling bin, habe ich immer noch nicht herausgefunden, wie ich das machen soll, obwohl ich die Lösungen, die in verschiedenen ähnlichen Forenanfragen vorgeschlagen wurden, durchsucht und getestet habe. Vielen Dank im Voraus für alle Antworten.
A dput()
der Daten ist:
Ich denke, der einfachste Weg ist via split
:
Beachten Sie jedoch, dass diese Aufteilung eine Liste der data.frames zurückgibt.
Um einzelne data.frames aus der Liste zu erhalten, können Sie wie folgt vorgehen, indem Sie eine Schleife verwenden, um die einzelnen Objekte zu erstellen (implizit in der lapply
-Anweisung):
Die Verwendung einer Liste ist jedoch wahrscheinlich mehr R
ish und wird auf lange Sicht nützlicher sein.
Danke an Gavin für die Veröffentlichung der Daten!
Gibt es etwas, was nicht zufriedenstellend ist?
%Vor%? Sie haben R und teilen als Tags, wissen Sie ...
Ja, split()
. Wenn sich Ihre Daten beispielsweise in dat
befinden, dann:
gibt eine Liste zurück, deren Komponenten die gewünschten Datenrahmen sind:
%Vor% Nur der Vollständigkeit halber ist hier eine Möglichkeit, dies mit dem plyr
-Paket zu tun.
Beachten Sie die syntaktische Einfachheit, dass Sie nur dat
einmal erwähnen.