R:从另一个矩阵的元素中减去矩阵的元素

Sie*_*elu 4 r matrix equation-solving

我试图将一个方程应用于两个矩阵.由于我是初学R用户,对我来说似乎很难.如果你能给我一些建议,我会很高兴.

我有两个相似性矩阵:

> r
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    4    2    2    5    5
[2,]    4    0    8    3    3    2
[3,]    2    8    0    4    4    3
[4,]    2    3    4    0    0    3
[5,]    5    3    4    0    0    5
[6,]    5    2    3    3    5    0

> nr
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    4    7    2    4    3
[2,]    4    0    5    2    3    2
[3,]    7    5    0    3    2    2
[4,]    2    2    3    0    7    2
[5,]    4    3    2    7    0    5
[6,]    3    2    2    2    5    0
Run Code Online (Sandbox Code Playgroud)

我也喜欢申请以下内容:

sum((r[i,j]-nr[i,j])^2)/6
Run Code Online (Sandbox Code Playgroud)

我的大问题是nr从元素中提取元素r.例如,如果我nr[i,j]用数字替换,0.4那么以下工作完美:

s<-numeric()
for (i in 1:nrow(r))
{
  for (j in 1:ncol(r))
{
    s[k]<-sum((r[i,j]-0.4)^2)/6
}
}
> s
[1] 0.02666667
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何修改此代码来解决原始问题.我将不胜感激任何帮助/建议.谢谢!

Chi*_*til 7

正常的运营商如+,-,*, /^做的元素方式操作.所以简单地(r - nr)^2/6为你做诀窍.

r
##      [,1] [,2] [,3]
## [1,]    2    2    2
## [2,]    2    2    2
## [3,]    2    2    2

nr
##      [,1] [,2] [,3]
## [1,]    3    3    3
## [2,]    3    3    3
## [3,]    3    3    3


r * nr
##      [,1] [,2] [,3]
## [1,]    6    6    6
## [2,]    6    6    6
## [3,]    6    6    6


r - nr
##      [,1] [,2] [,3]
## [1,]   -1   -1   -1
## [2,]   -1   -1   -1
## [3,]   -1   -1   -1


(r - nr)^2/6
##           [,1]      [,2]      [,3]
## [1,] 0.1666667 0.1666667 0.1666667
## [2,] 0.1666667 0.1666667 0.1666667
## [3,] 0.1666667 0.1666667 0.1666667
Run Code Online (Sandbox Code Playgroud)