如何比较R中两个列表的顺序



嗨,我正在尝试确定R.中两个列表的顺序变化

比较两个不同月份网球运动员的排名。

Feb <- c("A", "B", "C", "D")
Mar <- c("D", "B", "C", "A")
orderChange(Feb, Mar)

我想得到一个显示排序/排名差异的结果。

(-3, 0, 0, 3)

我试过which((,但这只是告诉我元素是否存在,并且不比较排序。

which(Mar %in% Feb)
[1] 1 2 3 4

您可以使用seq_along并减去match

Feb <- c("A", "B", "C", "D")
Mar <- c("D", "B", "C", "A")
Apr <- c("C", "B", "D", "A")
seq_along(Feb) - match(Feb, Mar)
#[1] -3  0  0  3
seq_along(Feb) - match(Feb, Apr)
#[1] -3  0  2  1

并且如果需要,可以将其封装在功能中。

orderChange <- function(x, y) seq_along(x) - match(x, y)

相关内容

  • 没有找到相关文章

最新更新