构造函数以在 r 中表达数学公式

counstruct function to expression math formula in r

这里我有一个如图所示的公式,

S为矩阵,如下

   A   B   C   D  
A  0   3   10  5
B  3   0   12  8
C 10   12  0   11
D  5   8   11  0

N是向量,如下:

 A   B    C    D  
 60  80   90  100

如何在R中构造一个表示分子左边部分的函数? (不用考虑t。)

我的数据集S大约是600*600

试试这个

AR <- function(S, N) {
  P <- sum(N)
  out <- (t(N) %*% S %*% N + 2 * P) / (P * (P - 1))
  dim(out) <- NULL
  out
}

输出

> S # the diagonal of S MUST be all zeros. 
   A  B  C  D
A  0  3 10  5
B  3  0 12  8
C 10 12  0 11
D  5  8 11  0

> N
  A   B   C   D 
 60  80  90 100 

> AR(S, N)
[1] 6.413005