R 如何使用应用函数以及应用族的哪个函数?

R 如何使用应用函数以及应用族的哪个函数?,r,apply,R,Apply,我仍然在为不同的apply函数以及它们如何替换for next循环而挣扎。我想做的是根据排序后的值顺序,对带有字符串(值标签)的向量进行排序,在我的例子中是优势比 我在“oo”对象中有优势比(无序),在so对象中有排序/有序优势值。此外,我将值标签按与“oo”相同的顺序排序,现在应重新排序以匹配“so”对象中的值: #按顺序降序排列标签 #优势比值 oo看起来您所要做的就是基于oo订购categorylabel,这可以通过以下方式完成: categoryLabels = categoryLabe

我仍然在为不同的apply函数以及它们如何替换for next循环而挣扎。我想做的是根据排序后的值顺序,对带有字符串(值标签)的向量进行排序,在我的例子中是优势比

我在“oo”对象中有优势比(无序),在so对象中有排序/有序优势值。此外,我将值标签按与“oo”相同的顺序排序,现在应重新排序以匹配“so”对象中的值:

#按顺序降序排列标签
#优势比值

oo看起来您所要做的就是基于
oo
订购
categorylabel
,这可以通过以下方式完成:

categoryLabels = categoryLabels[order(oo)]
为您提供一个索引向量,当用于索引向量时,将其转换为排序顺序。在您的示例中:

oo = c(0.3, 0.7, 0.5)
order(oo)
# [1] 1 3 2
oo = c(0.3, 0.7, 0.5)
so = c(0.3, 0.5, 0.7)
match(oo, so)
# [1] 1 3 2
虽然如果我们从
so
oo
开始,在这种情况下,比使用任何
apply
函数都要简单得多的是使用:

match
是在第二个向量中查找第一个向量的索引的函数。在您的示例中:

oo = c(0.3, 0.7, 0.5)
order(oo)
# [1] 1 3 2
oo = c(0.3, 0.7, 0.5)
so = c(0.3, 0.5, 0.7)
match(oo, so)
# [1] 1 3 2

categorylabel
元素的顺序是否与要开始的
oo
元素的顺序相同?如果是这样,
ord“类别标签元素的顺序是否与oo元素的顺序相同?”-是,“oo”是包含OR值的“原始赔率”,类别标签与这些OR相关(即相同的“无序”顺序)。“所以”应该是“排序的赔率”。order函数运行良好,我使用了David建议的实现。谢谢David!工作正常,我再次深入研究了R语法和编码!