2017-02-21 1 views
0

Ich versuche, eine neue Spalte in meiner 2016 Datensatz zu erstellen, die zeigt, ob der Kandidat verloren oder gewonnen hat.Zurückgeben von mehr als einer Variablen mit Gruppierung nach und zusammenfassen mit Dplyr

Democrat %>% 
    group_by(county) %>% 
    summarise(winningvote = max(fraction_votes)) 

Dieser Code gibt nur die maximale Bewertung zurück. Kann ich auch die Kandidatenvariable zurückgeben? Hinzufügen:

select(county, fraction_votes, candidate) 

Gibt nichts anderes zurück.

Ich werde versuchen, eine "Ergebnis" Variable mit Mutate für die letzte Zeile des Codes zu erstellen. Ich dachte, die Familie könnte eine andere Möglichkeit sein, dies zu lösen.

Dank

+2

Gibt es eine Spalte namens 'cund idate'? Sie sollten ein [reproduzierbares Beispiel] bereitstellen (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). Sie beschreiben, wie Sie die 'fraction_votes' zusammenfassen wollen, aber gibt es nur einen Kandidaten pro Landkreis? Wie möchten Sie den Kandidaten zusammenfassen? – MrFlick

Antwort

1

Wenn die candidate ein Feld des Democrat Datenrahmens ist, ist der einfachste Weg, um mehrere Gruppierung zu tun:

Democrat %>% 
    group_by(county, candidate) %>% 
    summarise(winningvote = max(fraction_votes)) 
0

Ich bin ziemlich zuversichtlich, es ist ein prägnanter Weise, dies zu tun , aber unten wird Ihnen ein gewinnendes Abstimmungsflag als 1 zur Verfügung stellen. Dann ersetzen Sie einfach NA durch 0 (zweiter Block des Codes)

Verwandte Themen