【问题标题】:How to assign values to a matrix based on the values of another matrix in R?如何根据 R 中另一个矩阵的值为矩阵赋值?
【发布时间】:2015-11-07 01:41:18
【问题描述】:

我的问题可能措辞不佳,但希望我能更好地解释它。在 R 中,我创建了一个矩阵并为其分配了如下值:

sample<-matrix(data=rbinom(10000,1,0.3), nrow=100, ncol=100, byrow=TRUE)

现在我想弄清楚如何将泊松分布后的值分配给 == 1 的矩阵中的每个值

这是给我的任务:

您有一个 100m x 100m 的网格,其中包含 1m x 1m 的单元格。您想选择大约 30% 的细胞进行采样。模拟网格单元进行采样。你采样了多少个细胞?

您在每个采样的网格单元中计算蜗牛。您找到的一篇论文报告说,蜗牛的平均密度为 15/m2。根据 15/m2 的平均蜗牛密度,模拟您在采样的每个网格单元中计数的蜗牛数量。平均而言,您计算每个网格单元有多少只蜗牛?在所有采样的网格单元中,您总共数了多少只蜗牛?

不寻找任何人为我做我的工作,只要朝着正确的方向前进就会对我有很大帮助。谢谢。

【问题讨论】:

    标签: r matrix


    【解决方案1】:

    您可以通过以下方式找到非零单元格的数量:

    num_cells <- sum(sample)
    

    此时,您可以使用 rpois 重新分配非零值:

    sample[sample == 1] <- rpois(num_cells, 15)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多