以下是基于第v2列排名的代码:
x <- data.frame(v1 = c(2,1,1,2), v2 = c(1,1,3,2))
x$rank1 <- rank(x$v2, ties.method='first')
Run Code Online (Sandbox Code Playgroud)
但我真的想根据v2和/或v1进行排名,因为v2中存在联系.如果不使用RPostgreSQL,我怎么能这样做?
怎么样:
within(x, rank2 <- rank(order(v2, v1), ties.method='first'))
# v1 v2 rank1 rank2
# 1 2 1 1 2
# 2 1 1 2 1
# 3 1 3 4 4
# 4 2 2 3 3
Run Code Online (Sandbox Code Playgroud)