2017-10-19 6 views
-1

Ich habe ein Dataset mit Zeilen eindeutiger Bezeichner. Jede eindeutige Kennung belegt mehrere Zeilen b/c Jede Person (Kennung) hat unterschiedliche Bewertungen. Zum Beispiel kann die eindeutige Kennung 1 eine Bewertung für Ziel A, Ziel B, Ziel C aufweisen, die alle in einer separaten Reihe dargestellt sind.Durchschnitt erhalten für eindeutige Bezeichner in R

was der beste Weg wäre, den Mittelwert für jede eindeutige Kennung (dh für Manager: 1 (eindeutige Kennung 1) zu finden, was ist ihre durchschnittliche Punktzahl über Tor A, Tor B und Tor C?

in Excel Ich würde dies tun, indem ich die Datensortierung verwende> und eindeutige Kennungen überprüfe, diese Werte am unteren Rand des Datensatzes kopiere und füge und den Durchschnitt mithilfe einer Reihe von bedingten Anweisungen finde. Ich bin mir sicher, dass es einen Weg geben muss Tun Sie dies in R. Ich würde jede Hilfe/Einsicht zu schätzen.

Ich begann mit diesem Code, aber bin mir nicht sicher, ob das ist, was ich brauche.Ich filme nach Abteilungen (FSO), dann bitten sie, mir eine Liste der eindeutigen IDs und dann Berechnung der Ave Wut für jeden Manager.

df %>% filter(newdept=='FSO') %>% 

distinct (ID)%>% Summarize (compmean = mean (CompRating2, na.rm = TRUE))

+0

Sie wollen 'group_by (ID)', nicht 'distinct (ID)' – arvi1000

+0

Also, das: df%>% filter (newdept == 'FSO', CompName2 == 'Lead')%>% group_by (ID)% >% summieren (compmean = mean (CompRating2, na.rm = TRUE)) – user2649399

+0

Ja, das ist richtig t - obwohl Sie, da Sie keine Daten gepostet haben, nicht sicher sein können, was genau Sie bekommen werden. – arvi1000

Antwort

0

Eine Basis R Lösung wäre die Verwendung aggregate:

dat <- data.frame(id=sample(LETTERS, 50, replace=TRUE), score=sample(1:5, 50, replace=TRUE), stringsAsFactors=FALSE) 
aggregate(score ~ id, data=dat, mean) 
Verwandte Themen