【问题标题】:R, how to select the rows having the smallest sums in a matrix?R,如何选择矩阵中总和最小的行?
【发布时间】:2015-09-04 22:20:50
【问题描述】:

我有一个由实数组成的矩阵,我想选择总和最小的 K 行。 例如,在这种情况下,如果我们想要最小的 2 行,我想选择第 3 列和第 8 列。

1 |   8.986971   57.2683300     72.059794   29.1323883    0.14323922
2 |  32.132388    2.8567608      3.986971   55.2683300   68.05979444
3 |   0.268330    1.0597944      0.132388    0.8567608    0.01302869
4 |   3.856761    1.9869713     48.268330   71.0597944   28.13238834
5 |   0.059794   25.1323883      7.143239    5.9869713   52.26832996
6 |   8.986971   46.2683300     61.059794   29.1323883    5.14323922
7 |  32.132388    8.1432392      4.013029   55.2683300   70.05979444
8 |   0.268330    0.0597944      1.132388    0.8567608    2.98697131
9 |   3.856761    5.0130287     45.268330   71.0597944   23.13238834
10 | 74.059794   18.1323883      9.143239    5.9869713   54.26832996

我应该在 R 中使用哪个命令来完成这一切?

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 我不确定你真正想要什么,你想识别同时具有最低总和的列和行吗?
  • 添加一个“sum”列,对其进行排序,检索你想要的行
  • x[rank(rowSums(x)) <= K, ] 其中x 是您的矩阵
  • @eipi10 请考虑发表评论作为解决方案并关闭它。

标签: r matrix


【解决方案1】:

选择行和最小的K行:

x[rank(rowSums(x)) <= K, ]

x 是您的矩阵。

【讨论】:

    猜你喜欢
    • 2021-09-04
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2011-10-15
    • 2012-12-11
    相关资源
    最近更新 更多