我有一个矩阵 A,我如何表示最后一列,因为我想根据它对矩阵进行排序。
问问题
1215 次
2 回答
9
> A <- matrix(rnorm(16), 4, 4)
> ncol(A)
[1] 4
> # Get the last column
> A[,ncol(A)]
[1] 0.7593943 0.0726012 2.2784912 -0.2571095
> # If you want to sort based on the last column...
> A[order(A[,ncol(A)]),]
[,1] [,2] [,3] [,4]
[1,] -0.9013910 -0.06612518 -1.51267548 -0.2571095
[2,] 0.3851738 -0.81303780 0.01062751 0.0726012
[3,] -1.6940473 -1.15323294 -1.50261705 0.7593943
[4,] 0.3120409 -0.30047966 0.59672449 2.2784912
于 2013-07-09T18:08:56.417 回答
5
如果 A 是您的矩阵,则 A 的最后一列是:
A[,ncol(A)]
如果您不熟悉 R 中的括号索引,则此代码会选择 A 的所有行(因为逗号之前的空格是空白的),然后选择 A 的最后一列,因为 R 索引从 1 开始(与 Python 等语言不同)。ncol(A)
将 A 中的列数作为整数返回,因此以这种方式建立索引会给出您想要的结果。
于 2013-07-09T18:08:18.870 回答