我正在尝试按人口和日期对这个数据框进行排序,所以我使用了order()
andrank()
函数:
> df <- data.frame(idgeoville = c(5, 8, 4, 3, 4, 5, 8, 8),
date = c(rep(1950, 4), rep(2000, 4)),
population = c(500, 450, 350, 350, 650, 500, 500, 450))
> df
idgeoville date population
1 5 1950 500
2 8 1950 450
3 4 1950 350
4 3 1950 350
5 4 2000 650
6 5 2000 500
7 8 2000 500
8 8 2000 450
我ties.method = "first"
没有问题,最后我正在制作这个数据框:
idgeoville date population rank
1 5 1950 500 1
2 8 1950 450 2
3 4 1950 350 3
4 3 1950 350 4
5 4 2000 650 1
6 5 2000 500 2
7 8 2000 500 3
8 8 2000 450 4
但实际上,我想要一个具有相同人口排名的数据框,如下所示:
idgeoville date population rank
1 5 1950 500 1
2 8 1950 450 2
3 4 1950 350 3
4 3 1950 350 3
5 4 2000 650 1
6 5 2000 500 2
7 8 2000 500 2
8 8 2000 450 3
如何用 R 解决这个问题?使用自定义ties.method()
或其他 R 技巧?