0

我有一个矩阵 A,我如何表示最后一列,因为我想根据它对矩阵进行排序。

4

2 回答 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 回答