Почему Order() в R не возвращает правильный порядок?

#r #function

Вопрос:

  • Я запускаю этот простой код в R и не знаю, почему он не возвращает правильный порядок.

порядок(c(4,1,4,3,2))

порядок(c(«R»,»C»,»R»,»I»,»J»))

  • Это и есть результаты:

[1] 2 5 4 1 3

[1] 2 4 5 1 3

  • В чем проблема?

Комментарии:

1. order() возвращает индексы значений. Попробуй sort() вместо этого. sort(c(4,1,4,3,2)) и. sort(c("R","C","R","I","J"))

2. Какую возвращаемую стоимость вы ожидали?

3. Спасибо, я нашел ответ, я ошибся между порядком() и рангом().

Ответ №1:

Функция order() возвращает идентификатор (местоположение) отсортированных элементов. Вы могли бы использовать:

 v1 <- c(4,1,4,3,2)
v2 <- c("R","C","R","I","J")

sort(v1)
sort(v2)

#or

v1 <- v1[order(v1)]
v2 <- v2[order(v2)]