R中多列的每行排名

tee*_*aze 8 r rank

我用R来分析我的修身.不幸的是,我遇到了这个问题:

我想计算一个新变量,它计算许多变量中每行一个变量的等级.

例:

V1    V2    V3   NewVariable_V1 NewVariable_V2 NewVariable_V3
11    21    35   3              2               1
22    12    66   2              3               1
44    22    12   1              2               3
Run Code Online (Sandbox Code Playgroud)

有谁知道这是怎么做到的吗?我很乐意帮忙.

Mat*_*rde 8

你正在寻找排名.要获得递减顺序,首先否定data.frame.

data.frame(d, t(apply(-d, 1, rank, ties.method='min')))
#   V1 V2 V3 V1.1 V2.1 V3.1
# 1 11 21 35    3    2    1
# 2 22 12 66    2    3    1
# 3 44 22 12    1    2    3
Run Code Online (Sandbox Code Playgroud)