私はRを使用しています。
私は自分のデータフレーム(DT)に2組の列を持っています: R1、R2、...、R6とU1、U2、... U6。 R1とU1は関連しており、R2とU2は関連しています。
私が持っているとき、私は、ソート(R1、...、R6)が、私も(U1、...、U6)すなわちに同じ順序値を必要とする:
Rデータフレームの別の列のセットに基づいて列のセットをソートする方法
R1 R2 R3 R4 R5 R6 U1とU2とU3 U4のU5のU6
.1 0.5 0.9 .1 .2 0.5
R1 R2 R3 R4 R5 R6 U1とU2 U3のU4のU5のU6
:私はこれを変換したい2 .1 .2 .3 0.4 0.5 0.6
.1 0.5 .2 0.5 .1 0.9
0.3 0.5 0.2 0.6 0.4 0.1
これは私がやっているものですが、そのはDT以来、非常に時間がかかります100,000レコードあります。 列1:R6とOU1にU6を通じてU1のソートされた値を格納しています:6はR1ですOU6
# This piece of code sorts R1 through R6
DT=cbind(DT, t(apply(-DT[,1:6] 1, sort)))
DT[,13:18]=-1*S_RU[,13:18]
#This piece of code sorts U1 through U6
for(i in 1:nrow(DT)){
x=as.numeric(DT[i,c("U1","U2","U3","U4","U5","U6")])
S_RU[i,c("OU6","OU5","OU4","OU3","OU2","OU1")]=x[order(-S_RU[i,1:6])]
}
どうもありがとうエヴァン。これは超高速で動作します – Tecsanto
もちろん、私の喜び。 –