Это также работает:
> roots<-polyroot(c(5,4,3,2,1))
> roots[sort(Im(roots),index.return=T)$ix]
[1] 0.287815-1.416093i -1.287815-0.857897i
[3] -1.287815+0.857897i 0.287815+1.416093i
Сортирует комплексные числа по их мнимым частям и возвращает их индексы, а затем использует индексы для ссылки на соответствующее комплексное значение в отсортированном порядке.