преобразование функции в математическую формулу выражения в r

#r #function #formula

#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.

Ответ №1:

Попробуйте это

 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