gpt4 book ai didi

使用 R 中的两列对数据框进行排名

转载 作者:行者123 更新时间:2023-12-05 00:43:13 24 4
gpt4 key购买 nike

我是使用 R 的新手,我很难尝试使用 R 中的两列对数据框进行排名。数据就是这样的形式。

A B
1 1
2 1
2 1
4 4
5 3

我希望结果的形式为

A B Rank
1 1 1
2 1 2
2 1 2
4 4 5
5 3 4

按B优先排序,如果B中的值相等,则用A进行排序。我认为我的问题与 How to rank rows by two columns at once in R?我尝试了这个答案,但这对我不起作用。

最佳答案

您可以使用 data.table::frankdplyr::min_rank:

data.table::frank

dt$Rank <- frank(dt, B, A, ties.method = "min")
dt
A B Rank
1 1 1 1
2 2 1 2
3 2 1 2
4 4 4 5
5 5 3 4

dplyr::min_rank

mutate(dt, Rank = min_rank(paste(B,A)))
A B Rank
1 1 1 1
2 2 1 2
3 2 1 2
4 4 4 5
5 5 3 4

数据

dt <- data.frame(A = c(1,2,2,4,5), B = c(1,1,1,4,3))

关于使用 R 中的两列对数据框进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70618422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com