Как говорит ?row_number
, row_number
эквивалентно rank(ties.method = "first")
, где rank
(см. ?rank
) возвращает выборочные ранги значений в векторе, а использование "first"
приводит к перестановке с увеличениемзначения в каждом индексе набора связей:
row_number
# function (x)
# rank(x, ties.method = "first", na.last = "keep")
# <bytecode: 0x108538478>
# <environment: namespace:dplyr>
Итак,
x <- c(5, 1, 3, 2, 2, NA)
row_number(x)
# [1] 5 1 4 2 3 NA
rank(x, ties = "first", na.last = "keep") # I added na.last = "keep" to fully replicate row_number
# [1] 5 1 4 2 3 NA
, начиная с
sort(x)
# [1] 1 2 2 3 5
, и мы присвоили первому 2
более низкий рангиз-за ties = "first"
.
Теперь, когда мы используем просто row_number()
в filter
, mutate
вызовах, тогда действительно, кажется, просто возвращается вектор номеров строк, который можно найти здесь .