【问题标题】:How can I obtain a random number for each column in a matrix?如何获得矩阵中每一列的随机数?
【发布时间】:2020-10-28 19:36:04
【问题描述】:

我有一个包含 n 列和 2 行的矩阵。但是对于每一列,我想选择一个随机数。 我一直在寻找这个,但我什么也没得到。 此时我使用的是非常小的矩阵,但我的代码将应用于大矩阵。

我有这个矩阵,(将添加更多列)

          [,1]     [,2]
fcMax 2.391416 1.390129
fcMin 2.316555 1.374918

我想获得一个dim = n的向量(在本例中为2,列数),它是通过为每列选择一个随机数来构造的。

【问题讨论】:

  • 我看到你的行被命名为 fcMax 和 fcMin。这是否意味着您想要的随机数需要从具有不同上下限的均匀分布中生成?
  • 不,它不是连续的。我只需要得到其中一个数字,fcMax 或 fcMin

标签: r matrix random


【解决方案1】:

我们可以用apply 遍历列,然后使用sample

 apply(m1, 2, sample, 1)

【讨论】:

    【解决方案2】:

    这应该可行:

    rand_row = sample(1:nrow(your_matrix), size = ncol(your_matrix), replace = TRUE)
    result = your_matrix[cbind(rand_row, 1:ncol(your_matrix))]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 2017-02-09
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      相关资源
      最近更新 更多