2016-07-08 16 views
0

Ich habe einen Datenrahmen wie dieseWie fasst man Statistiken mit zwei oder mehr Faktorvariablen mit group_by zusammen?

no  date   charges 
050034 2011-07-14 3312.00 
000859 2012-07-13 10913.54 
05266  2013-07-16 159.00 
000859 2012-07-13 370.00 
000859 2014-07-16 21881.36 
38027  2012-07-13 164.00 

ich von jedem nicht und Datum in einem einzigartigen Datum durchschnittliche Gesamtkosten Gruppe finden mag. benutzen ich

summary<-df %>% group_by(no) %>% summarize_each(funs(total_charges=sum(charges))) 

wie dieses Ergebnis zu erhalten:

no  date   charges 
050034 2011-07-14 3312.00 
000859 2012-07-13 11283.54 
05266  2013-07-16 159.00 
000859 2014-07-16 21881.36 
38027  2012-07-13 164.00 

(wir haben nur eine no = 000.859 bei 2012-07-13) aber mein Code korrekt funktioniert nicht!

EDIT :::::: Wie kann ich Durchschnitt der Gesamtkosten pro Monat für jedes Nein finden?

+0

@Procrastinatus Maximus I keine ähnliche Frage gefunden haben bevor ich meine Frage stelle! – Sajjad

+0

kein Problem, hoffe, dass Ihr Problem jetzt gelöst ist – Jaap

+0

Ich habe meine Frage bearbeitet, um genauer angegeben zu werden – Sajjad

Antwort

0

Unter der Annahme, dass Datenrahmen df genannt wird, kann man verwenden:

aggregate(charges ~ no + date, data=df, sum) 
0

Sie Gruppe kann durch mehr als eine Variable:

df%>%group_by(date,no)%>%summarise(total_charges=sum(charges))

+0

Wie finde ich die durchschnittlichen Gesamtkosten pro Monat? – Sajjad

+0

@Sajjad Ihre Frage für insgesamt gefragt, so verwendet diese Antwort 'sum'. Die R-Funktion zur Berechnung der Mittelwerte ist 'mean()'. Wenn Sie also den Mittelwert anstelle des Gesamtwerts möchten, sollten Sie 'mean()' anstelle von 'sum()' verwenden. Sie können sich einige der einleitenden Ressourcen [im R-Tag-Wiki] (http://stackoverflow.com/tags/r/info) ansehen. – Gregor