#构造矩阵
a=matrix(c(1,2,3,4),ncol=2,byrow=T)
b=matrix(c(5,6,7,8),ncol=2,byrow=F)
nrow表示行数;ncol表示列数;byrow表示按行排列
#c(a)表示“按列拉直”矩阵a
#cbind()把自变量横向拼成一个大矩阵
x1=rbind(c(1,2),c(3,4))
rbind()表示把自变量纵向拼成一个大矩阵
#访问矩阵元素和子矩阵
a[3,3] 表示取矩阵a的三行三列的数
a[-3,]表示删去矩阵a的第三行
a[1:2,c(1,2,3)]表示访问矩阵a的一二行和第一二三列
2*a
2*b
a*b
#矩阵乘法
a%*%b
#a的转置跟b相乘
crossprod(a,b) 等价于t(a)%*%b
#矩阵转置
t(a);t(b)
#取方阵的对角元素
diag(a);sum(diag(a)
c=diag(c(1,2))
diag(a) 表示矩阵a中的对角线,此时得到的是数值
diag(diag(a)) 表示只保留a的对角线,其他位置都为0,此时得到的是矩阵
a=matrix(c(1,2,3,4),ncol=2,byrow=T)
b=matrix(c(5,6,7,8),ncol=2,byrow=F)
nrow表示行数;ncol表示列数;byrow表示按行排列
#c(a)表示“按列拉直”矩阵a
#cbind()把自变量横向拼成一个大矩阵
x1=rbind(c(1,2),c(3,4))
rbind()表示把自变量纵向拼成一个大矩阵
#访问矩阵元素和子矩阵
a[3,3] 表示取矩阵a的三行三列的数
a[-3,]表示删去矩阵a的第三行
a[1:2,c(1,2,3)]表示访问矩阵a的一二行和第一二三列
#矩阵运算
#线性运算
a+b
2*a
2*b
a*b
#矩阵乘法
a%*%b
#a的转置跟b相乘
crossprod(a,b) 等价于t(a)%*%b
#矩阵转置
t(a);t(b)
#取方阵的对角元素
diag(a);sum(diag(a)
c=diag(c(1,2))
diag(a) 表示矩阵a中的对角线,此时得到的是数值
diag(diag(a)) 表示只保留a的对角线,其他位置都为0,此时得到的是矩阵