ベクトルの要素に番号を付け、ベクトルの最小要素に「1」を割り当てたいとします。私はこれを行う方法を知っていますが、私の解決策(以下に含まれるコード)はあまりにも複雑です。はるかに簡単なソリューションはありますか?R:ベクトルの番号要素
私の例では、ベクトル 'data'に5つの一意の数字があります。番号3は最小で、番号 '1'を割り当てる必要があります。番号100が最も大きく、番号 '5'が割り当てられる必要があります。
ベクトル 'データ'の望ましい解決策は、c(2,3,4,4,3,1,5)
です。
data <- c(5,8,12,12,8,3,100)
unique.numbers <- sort(unique(data))
numbering <- seq(1:length(unique(data)))
template <- cbind(numbering,unique.numbers)
output <- rep(NA, length(data))
for(i in 1:length(data)) {
for(j in 1:dim(template)[1]) {
if(data[i]==template[j,2]) output[i]=j
}
}
output
ありがとうございました。私は私のプログラミングをより効率的にしようとしています。
マーク・ミラー
+1いいです。直感的でクリーンな –