我仍在为不同的应用函数以及它们如何替换 for-next 循环而苦苦挣扎。我想要做的是根据值的排序顺序对带有字符串(值标签)的向量进行排序,在我的例子中是优势比。
我在“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)
- categoryLabels (of oo) 是 ("A", "B", "C") 并且应该根据 "so" 重新排序: ("A", "C", "B")
我想知道的是,是否可以用应用函数替换 for-next-loop,如果可以,如何?
在此先感谢,丹尼尔