当前位置: 首页 > 知识库问答 >
问题:

矩阵求和为R中的单个矩阵

淳于熙云
2023-03-14
alive <- array(0,c(num_samples,num_time_periods,num_groups))
alive[,1,] <- 100  
for(i in 2:num_time_periods){
    alive[,i,] <- rbinom(num_samples, alive[,i-1,], exp(-delta[,i,]))}
alive

  , , 1

       [,1] [,2] [,3] [,4] [,5]
 [1,]  100   98   94   89   87
 [2,]  100   98   96   94   92
 [3,]  100   99   95   94   92

  , , 2

       [,1] [,2] [,3] [,4] [,5]
 [1,]  100   98   94   89   87
 [2,]  100   98   96   94   92
 [3,]  100   99   95   94   92

 , , 3

       [,1] [,2] [,3] [,4] [,5]
 [1,]  100   98   94   89   87
 [2,]  100   98   96   94   92
 [3,]  100   99   95   94   92
 Totalalive <- array(0,c(num_samples,num_time_periods,num_groups))
    for(i in 2:num_groups){
 Totalalive[,,i] <- sum(alive[,,i]) 
  }
       [,1] [,2] [,3] [,4] [,5]
 [1,]  300   294  ..   ..   ..
 [2,]  300   294  ..   ..   ..
 [3,]  300   297  ..   ..   ..

共有1个答案

商同化
2023-03-14

您可以使用apply在前两个维度上进行拼贴。

因此,如果您的3x5x3数组mm

mm<-structure(c(0, 0, 0, 4721.565, 4721.565, 4721.565, 4244.95, 4288.055, 
4158.742, 3834.17, 3755.25, 3677.222, 3390.485, 3355.014, 3319.538, 
0, 0, 0, 4310.424, 4310.424, 4310.424, 3873.18, 3912.528, 3794.482, 
3498.017, 3425.959, 3354.792, 3092.831, 3060.493, 3028.149, 0, 
0, 0, 3934.859, 3934.859, 3934.859, 3533.586, 3569.504, 3461.75, 
3190.963, 3125.172, 3060.271, 2820.944, 2791.468, 2761.986), .Dim = c(3L, 
5L, 3L))

然后

apply(mm, c(1,2), sum)
     [,1]     [,2]     [,3]     [,4]     [,5]
[1,]    0 12966.85 11651.72 10523.15 9304.260
[2,]    0 12966.85 11770.09 10306.38 9206.975
[3,]    0 12966.85 11414.97 10092.28 9109.673
 类似资料:
  • 我有一个有三个带的光栅和一个有三个列的矩阵。 我想找到y的每一行和r的每一个单元格之间的角度。 我可以通过以下方式将光栅转换为矩阵: 现在,每个has矩阵都具有相同的形状(每个has矩阵中有3列,每行作为一个像素或来自y的样本)。我已经研究过如何使用嵌套的apply()函数,但老实说,我不理解语法,因此无法使其正常工作。 我有40个非常大的超光谱光栅(425个波段)和一个50行矩阵,我需要使用它来

  • 我在查看一些代码时发现了以下内容: 有什么区别呢?顺便说一句:我对矩阵很陌生

  • 主要内容:语法,例子,访问矩阵的元素,矩阵计算矩阵是其中元素以二维矩形布局排列的R对象。它们包含相同原子类型的元素。 虽然我们可以创建一个仅包含字符或仅包含逻辑值的矩阵,但它们没有太多用处。 我们使用包含数学元素的矩阵来在数学计算中使用。 矩阵可通过使用函数来创建。 语法 在R中创建矩阵的基本语法是 - 以下是使用的参数的描述 - data - 是将要转为矩阵元素的输入向量。 nrow - 是要创建的行数。 ncol - 是要创建的列数。 b

  • 我目前正在做一个音频信号处理项目,需要在Java中的一个复杂矩阵上使用SVD。我当前的线性代数库是Apache Commons。但它只提供实矩阵的SVD,JAMA、JBLAS、EJML、ojAlgo都不支持复杂的SVD。 我一直在用一些技巧从一个等效的实矩阵中找到SVD。然而,当我重建矩阵时,这种技术对于虚部有很大的不准确性。

  • 假设我们有两个矩阵,即和,分别为和。 我们如何才能找到哪些行与行相同(反之亦然)? 优选的输出是矩阵,其行数等于矩阵和之间的标识行,两列,即第一列包含矩阵的行数,第二列包含矩阵的行数。

  • 我有两个矩阵m1和m2: 乘法的结果是: 现在,我想让R给出相应乘法过程的最大值,而不是矩阵m3中的和积,例如: 我想得出以下矩阵: 如何做到这一点?

  • 本文向大家介绍求mk矩阵A和nk矩阵的欧几里得距离?相关面试题,主要包含被问及求mk矩阵A和nk矩阵的欧几里得距离?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 先得到矩阵,然后对矩阵A和矩阵分别求出其中每个向量的模平方,并扩展为两个m*k的矩阵和。最终求得新的矩阵,并将此矩阵开平方得到A,B向量集的欧几里得距离。

  • 在R编程中,如何子集一个矩阵,以便跳过中间的列?我只知道如何像1:4那样连续地做,但是如果我想要第一、第二和第四个柱呢