将观察数据框架转换为等级

spo*_*234 2 r dplyr

我有这样的数据集:

df <- data.frame(situation1=rnorm(30),
             situation2=rnorm(30),
             situation3=rnorm(30),
             models=c(rep("A",10), rep("B",10), rep("C", 10)))
Run Code Online (Sandbox Code Playgroud)

我在三种情况下比较三种模型(A,B,C).我为每个型号进行了10次测量.

我现在想把它总结成一个等级,即每个模型在每次参与中获胜的频率.Win由最高值定义.

最终输出可能是这样的:

model situation1 situtation2 situtation3
A          4          3            3
B          7          1            2
C          1          4            5
Run Code Online (Sandbox Code Playgroud)

nic*_*ola 7

base R:

table(df$models,colnames(df[-4])[max.col(df[-4])])
#    situation1 situation2 situation3
#  A          2          4          4
#  B          4          5          1
#  C          2          4          4
Run Code Online (Sandbox Code Playgroud)

结果可能会从你的OP改变,因为你没有设置seed.