R 数据帧中的矩阵/数组乘法

问题描述 投票:0回答:0

我正在尝试从 R 中的数据框进行矩阵乘法。 乘法是这样一种方式,即第一个数组是数据帧 (1x6) 中每一列的所有元素。然后我们将它与相关矩阵 (6x6) 相乘,并再次与第一个数组 (6x1) 的转置相乘,得到最终结果。这必须在数据框的所有行上完成

这是我在 excel 中如何做的图像

snapshot of calculation in excel

A <- c(2,3,4,5,6)
   B <- c(4,5,6,7,8)
   C <- c(6,7,8,9,10)
   D <- c(8,9,10,11,12)
   E <- c(10,11,12,13,14)
   F <- c(12,13,14,15,16)

   df <- data.frame (A,B,C,D,E,F)

   ## 6x6 correlation matrix 

    corr <- matrix(       
        c(1,0,0,0,0,0,
          0,1,0,0,0,0,
          0,0,1,.6,.6,.5,
          0,0,.6,1,.6,.7,
          0,0,.6,.6,1,.6,
          0,0,.5,.7,.6,1),
          nrow = 6,ncol =6, byrow = TRUE) 

我需要在 df 中添加另一个 col,第 1 行的结果 = [2,4,6,8,10,12]* corr * transpose[2,4,6,8,10,12]

r arrays dataframe matrix-multiplication
© www.soinside.com 2019 - 2024. All rights reserved.