Tôi đang cố gắng để đặt hàng dataframe này bằng dân số và ngày, vì vậy tôi đang sử dụng order()
và rank()
chức năng:Làm thế nào tôi có thể tạo ra một ties.method mới với hàm R rank()?
> 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
Với ties.method = "first"
Tôi không có vấn đề, cuối cùng tôi đang sản xuất dataframe này:
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
Nhưng trên thực tế, tôi muốn có một dataframe với xếp hạng bình đẳng cho bằng cấp bậc dân, như thế này:
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
Làm cách nào để giải quyết vấn đề này với R? Với tùy chỉnh ties.method()
hoặc một thủ thuật R khác?
gì về mối quan hệ = min, hoặc tối đa, hoặc trung bình ... tất cả họ đều giữ hàng ngũ của các mối quan hệ cùng một giá trị. – John
Với phút và x2 <- c (1,1,2,3), tôi có 1 1 3 4/ Với tối đa và x2 <- c (1,1,2,3), tôi có 2 2 3 4 Tôi muốn kết quả này cho x2 rank => 1 1 2 3 – reyman64
Hoặc, sử dụng 'max' và trừ số lượng quan hệ khỏi kết quả? '2 2 3 4-1 = 1 1 2 3'. Bây giờ, vấn đề là để tìm ra số lượng các mối quan hệ ... Dù sao, tôi chỉ xảy ra qua chủ đề này thông qua Google. – Frank