我试图按组找到最常见的值。在以下示例数据框中:
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
我想添加一列“c”,当其值按“a”分组时,该列在“b”中出现次数最多。我想要以下输出:
> 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
我尝试使用 table 和 tapply 但没有得到正确的结果。有没有一种快速的方法可以做到这一点?
谢谢!