簡體   English   中英

R:從另一個矩陣的元素中減去一個矩陣的元素

[英]R: subtraction of elements of a matrix from the elements of another matrix

我正在嘗試將方程應用於兩個矩陣。 由於我是初學者 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

我想申請以下這些:

sum((r[i,j]-nr[i,j])^2)/6

我的大問題是從元素r中提取nr的元素。 如果我將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

但我不知道如何修改這段代碼來解決原來的問題。 我將不勝感激任何幫助/建議。 謝謝!

+-*/^這樣的普通運算符執行元素操作。 所以簡單地說(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

對於矩陣加法或減法,你可以這樣寫。

甲+乙,乙

A
     [,1] [,2] [,3]
[1,]    3    3    3
[2,]    3    3    3
[3,]    3    3    3

B
     [,1] [,2] [,3]
[1,]    2    2    2
[2,]    2    2    2
[3,]    2    2    2

但是,在乘法的情況下,如果你寫 A* B 這將給出錯誤的答案。

A*B
     [,1] [,2] [,3]
[1,]    6    6    6
[2,]    6    6    6
[3,]    6    6    6

因為矩陣乘法過程不是這樣的。 它只會將其各自的行和列值相乘。

矩陣乘法的正確答案是。

A %*% B
     [,1] [,2] [,3]
[1,]   18   18   18
[2,]   18   18   18
[3,]   18   18   18

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM