R的矩阵运算
sample(100,15),从100个数中取15个数。
大小相同(行数列数都相同)的矩阵之间可以相互加减,具体是对每个位置上的元素做加减法。矩阵的乘法则较为复杂。两个矩阵可以相乘,当且仅当第一个矩阵的列数等于第二个矩阵的行数。
实际操作时,设置了A、B矩阵都是5行3列,因此,用t将A转置。
%*%是矩阵的乘法。
t(A)%*%B
简单来说就是一个2行3列的矩阵A乘以一个3行2列的矩阵B,用A的第一行元素乘以B的第一列元素,再求和。A的第二行元素乘以B的第二列元素,再求和,得到一个2行2列的新矩阵。
每行每列的平均数、求和
colMeans,列平均
colSums,列求和
rowMeans,行平均
rowSums,行求和
crossprod(A,B) 相当于t(A)%%B
tcrossprod(A,B)相当于A%%t(B)
crossprod中只有一个矩阵时,相当于自己转置后乘以自己。
逆矩阵
存在一个矩阵A和另一个矩阵B,当AB=BA=E(常数)则成为B是A的逆矩阵。
在R中用solve(A)求得A的逆矩阵。
diag(X),返回矩阵X的对角线的值。

返回对角线的值
diag(c(1,2,3,4)),创建一个矩阵,其对角线是给定的值(1,2,3,4)。

创建矩阵
一些R的资源

R资源

R资源