Zusammenfassen mehrerer Spalten gleichzeitig [duplizieren]

9

Ich habe einen Datenrahmen likeso:

%Vor%

Ich möchte das obige mit id1 & amp; id2. Ich möchte in der Lage sein, die Mittelwerte für val1, val2, val3, val4 gleichzeitig zu erhalten.

Wie mache ich das?

Dies ist, was ich derzeit habe, aber es funktioniert nur für 1 Spalte:

%Vor%

Wie benenne ich auch die Spalten um, die in derselben Anweisung wie oben angegeben ausgegeben werden

    
Rookie 30.12.2015, 05:50
quelle

2 Antworten

11

Wir können die Formelmethode von aggregate verwenden. Die Variablen auf der 'rhs' von ~ sind die Gruppierungsvariablen, während die . alle anderen Variablen in 'df1' darstellt (im Beispiel nehmen wir an, dass wir mean für alle Spalten außer der Gruppierung benötigen ), spezifizieren Sie den Datensatz und die Funktion ( mean ).

%Vor%

Oder wir können summarise_each von dplyr nach Gruppierung ( group_by )

verwenden %Vor%

Oder eine andere Option ist data.table . Wir konvertieren den 'data.frame' in 'data.table' ( setDT(df1) , gruppiert nach 'id1' und 'id2', wir durchlaufen die Teilmenge von data.table ( .SD ) und erhalten die mean .

%Vor%

Daten

%Vor%     
akrun 30.12.2015, 05:59
quelle
3

Sie könnten versuchen:

%Vor%     
Filipe Mencarini 08.09.2016 16:47
quelle

Tags und Links