#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)]