0
他の列の行合計のランクに従って行列の列をソートしたいと思います。だから私はこのコードを使用しますR - sort関数は行列を変更します
for(j in 1:d) {
X[,j]=sort(X[,j],decreasing=TRUE)[rank(rowSums(X[,c(1:d)[-j]]))]
}
をしかし、このコードは、私はちょうど再配置する列の値を、変更します。 行の合計が等しい場合、元の列にすべての値が1回だけ存在するにもかかわらず、j番目の列の値も同じになります。例:
どのように私はこの問題を回避することができますか?
ありがとうございました
可能性 - それはあなただけRがソートされることを意味一次元でインデックス化されている現状のままベクトルとして。 –
これは私の例では機能しません。しかし、それはベクトルとしてソートされるべきかどうか? – Applekes
各ステップで列を個別に並べ替えてから、変更された行列を使用して新しいランクを計算することは承知していますか?私は、あなたが「for(j in 1:d){X [、j] = X [order(rowSums(X [、c(1:d)[ - j]]) j]} 'しかし、私はあなたが達成しようとしていることを確信していません。再現可能な例と期待される出力でより簡単になります –