カテゴリカルのすべての値をランク別に変更したい。ランクは、列内のソートされた固有の要素のインデックスを使用して決定できます。例えば値をRategyicalからnominalに変更する
、
> data[1:5,1]
[1] "B2" "C4" "C5" "C1" "B5"
その後、私は列内のこれらのエントリは、カテゴリ値
> data[1:5,1]
[1] "1" "4" "5" "3" "2"
別の列に置き換えたい:
> data[1:5,3]
[1] "Verified" "Source Verified" "Not Verified" "Source Verified" "Source Verified"
その後更新された列:
を> data[1:5,3]
[1] "3" "2" "1" "2" "2"
この作業にこのコードを使用しましたが、時間がかかります。
for(i in 1:ncol(data)){
if(is.character(data[,i])){
temp <- sort(unique(data[,i]))
for(j in 1:nrow(data)){
for(k in 1:length(temp)){
if(data[j,i] == temp[k]){
data[j,i] <- k}
}
}
}
}
可能であれば、効率的な方法を提案してください。おかげさまで
を '' plyr's mapvalues'を見てみましょう。 – count