Ich habe einen Datenrahmen df, und ich versuche, alle Zeilen, die einen Wert in der Spalte B
haben, mehr als einmal im Datensatz zu unterteilen.
Ich habe versucht, die Tabelle zu verwenden, aber ich habe Probleme mit der Unterteilung aus der Tabelle:
%Vor%Dann versuche ich es mit Hilfe von:
zu unterteilen %Vor%Und ich bekomme den Fehler
"Fehler in x [Teilmenge & amp;! is.na (Teilmenge)]: Objekt des Typs 'closure' ist keine Teilmenge "
Wie kann ich meinen Datenrahmen mit Tabellenzählwerten unterteilen?
Darf ich Ihnen einen alternativen, schnelleren Weg vorschlagen, dies mit data.table
zu tun?
(oder) Sie können .I
(eine weitere spezielle Variable - siehe ?data.table
) koppeln, die die entsprechende Zeilennummer in df
zusammen mit .N
wie folgt angibt:
(oder) werfen Sie einen Blick auf @ mnels anderen für eine andere Variante (verwenden Sie noch eine weitere spezielle Variable .SD
).
Die Verwendung von table()
ist nicht die beste, weil Sie sie dann wieder in die ursprünglichen Zeilen von data.frame einfügen müssen. Die Funktion ave
erleichtert das Berechnen von Werten auf Zeilenebene für verschiedene Gruppen. Zum Beispiel
Hier wird für jede Ebene von b
die Länge von b
gezählt, was wirklich nur die Anzahl von b
ist und für jeden Wert in die entsprechende Zeile zurückgibt. Dann verwenden wir das zur Untermenge.