我如何“seq_along”R中的因子水平?

时间:2018-02-28 00:09:07

标签: r

我们说我有这个因素

x <- factor(c("b", "b", "a", "a", "a"), levels = c("a", "b"))

我想从因子

中获取此向量
someOperation(x)
# c(4, 5, 1, 2, 3)

这不起作用:

order(x)
# c(3, 4, 5, 1, 2)

1 个答案:

答案 0 :(得分:3)

rank有一个重要的ties.method参数,可以设置为"first"以提供您想要的升序索引:

x <- factor(c("b", "b", "a", "a", "a"), levels = c("a", "b"))

rank(x, ties = 'first')
#> [1] 4 5 1 2 3

等效的是两次调用order

order(order(x))
#> [1] 4 5 1 2 3