Ich möchte die häufigste Kombination von Werten in einem dat.frame finden.Finde die häufigste Kombination von Werten in einem data.frame
Hier einige Beispieldaten:
dat <- data.frame(age=c(50,55,60,50,55),sex=c(1,1,1,0,1),bmi=c(20,25,30,20,25))
In diesem Beispiel ist das Ergebnis, das ich stehe auf die Kombination von Alter = 55, Geschlecht = 1 und bmi = 25, denn das ist die häufigste Kombination aus Spalten Werte.
Meine realen Daten haben etwa 30000 Zeilen und 20 Spalten. Was wäre ein effizienter Weg, um die häufigste Kombination dieser 20 Werte unter den 30000 Beobachtungen zu finden?
Vielen Dank!
Danke für die Erklärung! Der data.table-Ansatz funktioniert perfekt und ist sehr schnell (0,31 Sekunden für meine eigenen Daten von 30000 * 20), der Basis-R-Ansatz funktioniert jedoch nicht mit meinen eigenen Daten, da die Anzahl der Kombinationen tatsächlich zu groß für die Tabelle ist(). – Rob
Probieren Sie einfach die 'dt [, .N, durch = Taste (dt)] [N == welche max (N)]' Sie vorgeschlagen, nur eine Zeile zu bekommen, aber das gibt mir das gleiche Ergebnis als 'dt [,. N, by = Taste (dt)] [N == max (N)] '... Gibt es Vorschläge, wie man nur eine Zeile mit der gebräuchlichsten Wertekombination erhält? – Rob
@Rob, Es sollte 'dt [, .N, durch = Schlüssel (dt)] sein [which.max (N)]'. – A5C1D2H2I1M1N2O1R2T1