a <- c(rep(1:2,3))
b <- c("A","A","B","B","B","B")
df <- data.frame(a,b)
> str(b)
chr [1:6] "A" "A" "B" "B" "B" "B"
a b
1 1 A
2 2 A
3 1 B
4 2 B
5 1 B
6 2 B
Chcę grupy o zmiennej a
i powrócić najczęstszą wartość b
Powrót najczęstszą ciąg wartości dla każdej grupy
Moja pożądany wynik będzie wyglądać
a b
1 1 B
2 2 B
W dplyr
miałoby to być czymś takim jak
df %>% group_by(a) %>% summarize (b = most.frequent(b))
Wspomniałem dplyr
tylko w celu wizualizacji problemu.
OK, znalazłem to sam 'df%>% group_by (a)%>% summary (b = names (which.max (table (b))))' – rmuc8