#r
Вопрос:
Я присвоил 6 разных номеров 6 различным элементам, называемым num1, num2, num3, num4, num5, num6 соответственно. Затем я составил список, содержащий эти 6 элементов, и назвал его Числами. Теперь я хочу найти способ упорядочить этот список по размеру от самого высокого до самого низкого, чтобы он возвращал имена элементов (так что num1,…, num6), а не их значения. Я попробовал команду order (), но она возвращает значения, а не имена:
num1 lt;- 2 num2 lt;- 1 num3 lt;- 3 num4 lt;- 7 num5 lt;- 8 num6 lt;- 4 Numbers lt;- c(num1, num2, num3, num4, num5, num6) Numbers[order(Numbers, decreasing = TRUE)]
Как я уже сказал, это возвращает значения для элементов по порядку, однако мне нужно что-то, что возвращает имена элементов по порядку, поэтому в данном случае: num5, num4, num6, num3, num1, num2. Заранее спасибо!
Ответ №1:
Попробуй
v1 lt;- sort(unlist(mget(paste0('num', seq(6)))), decreasing = TRUE) names(v1) #[1] "num5" "num4" "num6" "num3" "num1" "num2"