私の質問はRでかなり繰り返されるようです(データフレームで係数を数値に変換します)。それでも解決策は簡単ではありません。
私が望むのは、順序付き因子変数を順序付き数値変数に体系的に再コード化することです。
潜在的な(単純な)解決策についてあなたの洞察を得たいと思います。
私のデータは次のようになります
data = rbind(
c('a1', 'strongly favor', 'bad', 'low'),
c('b1', 'neither nor', 'good', 'middle'),
c('c1', 'favor', 'good', 'low'),
c('d1', 'strongly oppose', 'good', 'high'),
c('e1', 'oppose', 'average', 'high')
)
data = as.data.frame(data)
data$V2 = factor(data$V2, levels = c('strongly favor', 'favor', 'neither nor', 'oppose', 'strongly oppose'))
data$V3 = factor(data$V3, levels = c('good', 'average', 'bad'))
data$V4 = factor(data$V4, levels = c('high', 'middle', 'low'))
V1 V2 V3 V4
1 a1 strongly favor bad low
2 b1 neither nor good middle
3 c1 favor good low
4 d1 strongly oppose good high
5 e1 oppose average high
私はこのような簡単な解決策を考えていました:
levels(data$V2) <- 1:length(data$V2)
すべての変数を1つずつ実行するのを避けて、小さなループを考えていました
# First column is the identifier
for(i in 2:ncol(data)){
levels(data[,i]) <- 1:length(data[,i])
}
この解決策はいくつかのエラーを引き起こす可能性がありますか?
ループを避けるにはどうすればよいですか?