通过R中的虚部对复数向量进行排序

Son*_*ang 1 sorting r vector complex-numbers

roots <- polyroot(c(5, 4, 3, 2, 1))
Run Code Online (Sandbox Code Playgroud)

我想按假想部分的升序对根进行排序。默认情况下,该sort函数按实部的升序对其进行排序。我已经阅读了文档,但仍然不知道如何调整参数或编写命令。有人可以帮忙吗?

李哲源*_*李哲源 5

使用Im函数提取虚部并对其进行排序。

roots <- polyroot(c(5, 4, 3, 2, 1))
#[1]  0.287815+1.416093i -1.287815+0.857897i -1.287815-0.857897i
#[4]  0.287815-1.416093i

roots[order(Im(roots))]
#[1]  0.287815-1.416093i -1.287815-0.857897i -1.287815+0.857897i
#[4]  0.287815+1.416093i
Run Code Online (Sandbox Code Playgroud)