【问题标题】:How to make a matrix using a different matrix and the summation function [duplicate]如何使用不同的矩阵和求和函数制作矩阵
【发布时间】:2021-01-08 05:52:35
【问题描述】:

我想用 t_ij = a_ij / sum a_ij for i 从 1 到 n 制作一个矩阵 T。我知道矩阵 A,它是一个 100x100 的矩阵。

这是我迄今为止尝试过的:

n2<-10000
mynumbers<-c(1,0)
myprobs<-c(0.2,0.8)
trials<-sample(mynumbers, n2, replace=TRUE, prob=myprobs)
matrixA<-matrix(trials, 100, 100)
matrixA
n=100
matrixT=matrix(0,100,100)
for(i in 1:n){
  for (j in 1:n){
   matrixT[i,j]=matrixA[i,j]/sum(matrixA[1:n,j])
  }
}
matrixT

它没有给出任何错误,但我怀疑它是否正确,尤其是因为我的输出有很多零。但这可能是合乎逻辑的,我不确定。我特别为 i 从 1 到 n 的 a_ij 求和部分而苦苦挣扎。提前谢谢!

【问题讨论】:

    标签: r matrix sum


    【解决方案1】:

    在 R 中你可以写:

    apply(matrixA, 2, function(x) x / sum(x))
    

    将每一列除以列总和。

    【讨论】:

      【解决方案2】:

      基础 R 解决方案:

      prop.table(matrixA, 2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-11
        • 2013-09-04
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        • 2017-12-04
        相关资源
        最近更新 更多