c1 = 1:4
c2 = seq(2.1, 4.2, length.out = 4)
c3 = seq(2.4, 6, length.out = 4)
dat = cbind(c1, c2, c3)
rownames(dat) = paste0("r", 1:4)
# this is the input data set:
dat
这是输入数据集:
1 2.1 2.4
2 2.8 3.6
3 3.5 4.8
4 4.2 6.0
我希望最终输出像这样:
1 3 4
2 5 8
6 7 11
9 10 12
例如,在原始数据集中,第1行第2列的条目为2.1,如果全部12个条目的if排名为3,则输出中的对应条目为3。
解决此问题的最佳算法是什么: 我应该将数据集转换为向量并获得秩,然后将秩向量转换为矩阵吗?
谢谢您的任何建议!