Sto cercando di trovare il valore più frequente per gruppo. Nel seguente esempio dataframe:Valore più frequente (modalità) per gruppo
df<-data.frame(a=c(1,1,1,1,2,2,2,3,3),b=c(2,2,1,2,3,3,1,1,2))
> df
a b
1 1 2
2 1 2
3 1 1
4 1 2
5 2 3
6 2 3
7 2 1
8 3 1
9 3 2
desidero aggiungere una colonna 'c' che ha il valore più frequente di 'b' quando i relativi valori sono raggruppati per 'a'. Vorrei il seguente output:
> df
a b c
1 1 2 2
2 1 2 2
3 1 1 2
4 1 2 2
5 2 3 3
6 2 3 3
7 2 1 3
8 3 1 1
9 3 2 1
Ho provato a usare la tabella e il tapply ma non ho capito bene. C'è un modo veloce per farlo?
Grazie!
Questo è molto correlato a [questo] (http://stackoverflow.com/questions/2547402/standard-library-function-in-r-for-finding-the-mode) –