私はまだ別のapply-functionと、それらがfor-next-loopを置き換える方法に苦労しています。私がやりたいのは、ソートされた値の順序(私の場合はオッズ比)に従って、文字列(値ラベル)を使用してベクトルをソートすることです。
「oo」オブジェクトにはオッズ比(順序なし)があり、soオブジェクトにはソート/順序付けされたオッズ値があります。さらに、「oo」と同じ順序で並べ替えられた値ラベルがあります。これは、「so」オブジェクトの値と一致するように並べ替える必要があります。
# sort labels descending in order of
# odds ratio values
oo <- exp(coef(x))[-1]
so <- sort(exp(coef(x))[-1])
nlab <- NULL
for (k in 1:length(categoryLabels)) {
nlab <- c(nlab, categoryLabels[which(so[k]==oo)])
}
categoryLabels <- nlab
例えば
- 「oo」は(0.3、0.7、0.5)です
- 「そう」は(0.3、0.5、0.7)
- (ooの)categoryLabelsは( "A"、 "B"、 "C")であり、"so"に従って並べ替える必要があります:("A"、 "C"、 "B")
私が知りたいのは、for-next-loopをapply-functionで置き換えることが可能かどうか、もしそうなら、どのように?
よろしくお願いします、ダニエル