Chciałbym znaleźć najczęstszą kombinację wartości w data.frame.Znajdź najczęstszą kombinację wartości w data.frame
Oto kilka przykładów danych:
dat <- data.frame(age=c(50,55,60,50,55),sex=c(1,1,1,0,1),bmi=c(20,25,30,20,25))
W tym przykładzie wynik szukam jest kombinacją wieku = 55, seks = 1 i BMI = 25, ponieważ jest najczęstszą kombinacją kolumny wartości.
Moje prawdziwe dane mają około 30000 wierszy i 20 kolumn. Jaki byłby skuteczny sposób na znalezienie najczęstszej kombinacji tych 20 wartości spośród 30000 obserwacji?
Wielkie dzięki!
Dzięki za wyjaśnienie! Podejście data.table działa doskonale i jest bardzo szybkie (0,31 s na moich własnych danych 30000 * 20), jednak podstawowe podejście R nie działa na moich własnych danych, ponieważ liczba kombinacji jest rzeczywiście zbyt duża dla tabeli(). – Rob
Po prostu wypróbowałem 'dt [, .N, przez = klucz (dt)] [N == który max (N)]' zasugerowałeś, aby uzyskać tylko jeden wiersz, ale to daje mi ten sam rezultat als 'dt [,. N, przez = klucz (dt)] [N == maks. (N)] '... Jakieś sugestie, jak uzyskać tylko jeden wiersz z najczęstszą kombinacją wartości? – Rob
@Rob, Powinien to być 'dt [, .N, przez = klucz (dt)] [który.max (N)]'. – A5C1D2H2I1M1N2O1R2T1