我有一个矩阵A,我怎么能代表最后一列,因为我想根据它对矩阵进行排序。
答案 0 :(得分:8)
> 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
答案 1 :(得分:4)
如果A是你的矩阵,那么A的最后一列是:
A[,ncol(A)]
如果您不熟悉R中的括号索引,则此代码选择A的所有行(因为逗号之前的空格为空),然后选择A的最后一列,因为R索引从1开始(与Python之类的语言不同) 。 ncol(A)
以整数形式返回A中的列数,因此以这种方式建立索引可以得到您想要的结果。