【问题标题】:Sort matrix rows by row means按行均值对矩阵行进行排序
【发布时间】:2016-01-11 06:36:25
【问题描述】:

我有一个矩阵m

m <- matrix(c(1, 8, 3, 1, 2, 4, 9, 0, 0), nrow = 3, byrow = TRUE)
m

     [,1] [,2] [,3]
[1,]    1    8    3
[2,]    1    2    4
[3,]    9    0    0

我计算rowMeans(m)

r.mean <- rowMeans(m)
r.mean

[1] 4.000000 2.333333 3.000000

如何使用r.mean 将矩阵m 从最大均值排序到最小值:

     [,1] [,2] [,3]
[1,]    1    8    3
[2,]    9    0    0
[3,]    1    2    4

【问题讨论】:

标签: r matrix


【解决方案1】:

喜欢这样吗?

m[ order(rowMeans(m)), ]
     [,1] [,2] [,3]
[1,]    1    2    4
[2,]    9    0    0
[3,]    1    8    3

从最大值到最小值,通过添加, decreasing = T

m[ order(rowMeans(m), decreasing = T), ]
     [,1] [,2] [,3]
[1,]    1    8    3
[2,]    9    0    0
[3,]    1    2    4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    相关资源
    最近更新 更多