Die geteilten Daten.frame-by-value
wie kann ich Spalten die folgenden Daten.Rahmen
df <- data.frame(var1 = c("a", 1, 2, 3, "a", 1, 2, 3, 4, 5, 6, "a", 1, 2), var2 = 1:14)
in Listen /Gruppen
a 1
1 2
2 3
3 4
a 5
1 6
2 7
3 8
4 9
5 10
6 11
a 12
1 13
2 14
Also im Grunde, Wert "a" in Spalte 1 ist der tag /die Kennung, die ich teilen möchten, auf dem Daten-frame auf. Ich weiß, über die split-Funktion, aber das bedeutet, dass ich eine weitere Spalte hinzufügen, und da, wie man an meinem Beispiel, die Größe der Gruppen kann variieren, ich weiß nicht, wie Sie automatisch erstellt werden wie eine dummy-Spalte, die zu meinen Anforderungen passen.
Irgendwelche Ideen dafür?
Cheers,
Sven
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man herausfinden, welche Werte der Vektor-Indizierung gleich "a", dann erstellen Sie eine Gruppierung variable, die auf dieser Grundlage zu verwenden und dann splitten.
Du könntest eine Schleife erstellen, die eine Schleife durch die gesamte erste Spalte des data Frames und speichert die Positionen der nicht-numerische Zeichen in einem Vektor. Man muß also so etwas wie:
Mit jenen Positionen, die Sie sollten nicht haben ein problem auf der Aufteilung des Daten-frame aus. Es ist nur eine Frage der Verwendung von Sequenzen zwischen den Werten in der position Vektor.
which(df$var1=="a")
. Versuchen Sie zu vermeiden, Schleifen Ihre erste Wahl, wenn Sie mit R.