Ich bin derzeit mit einem Datenmanipulationsproblem in R konfrontiert, für das ich bisher keine Lösung gefunden habe (obwohl es viele scheinbar ähnliche Probleme gibt, die mich jedoch nicht auf den richtigen Weg gebracht haben) noch).Bedingte Mittelwerte in R
Beschreibung der Beispieldaten: Die Nummern (1-3) beziehen sich auf separate Entitäten, über die ein Befragter befragt wird. Diese Entitäten haben unterschiedliche Rollen (x) und Attribute (y).
ID x1 x2 x3 y1 y2 y3
A 1 1 5 4 3 2
B 2 2 2 3 4 5
Der hier wichtige Punkt ist, dass x1 y1 verbunden ist, x2 y2 usw.
Ziel: Für jeden Fall. Ich möchte für jede Rolle x eine mittlere Punktzahl für y haben (in getrennten, zusätzlichen Spalten, zB m1, m2, m3, m4, m5)
Beispiel:
- Für ID == A wir erwarten für x == 1: (4 + 3)/2 = 3.5 ["2" wird nicht benötigt, da der "verknüpfte" Wert von x3 nicht gleich 1 ist]
- Für ID == A würden wir erwartet für x == 3: (2)/1 = 2
- Für ID == B erwarten wir für x == 1: NA
- Für ID == B erwarten wir für x == 2: (3 + 4 + 5)/3 = 4
Irgendwelche Hinweise? Vielen Dank!
Dieses nur sein kann mich dicht zu sein, aber Könnten Sie vielleicht Ihren Algorithmus näher erläutern, wie Sie diese bedingten Mittel erreichen können? –
Haben Sie vor, dass der Datenpunkt bei A: x3 3 statt 5 ist, basierend auf "Für ID == A würden wir für x == 3 erwarten: (2)/1 = 2"? –
@ RomanLuštrik Vielen Dank, bitte lesen Sie den bearbeiteten Post. –