一、创建一个向量
1、在R中可以使用函数c()来创建一个向量
x1=c(171,175,159,155,152,160)
y1=c(57,64,41,38,35,40)
2、在R中可以使用函数length()来查看向量长度
length(x1)
3、在R中可以使用函数mode()来查看数据类型
mode(x1)
4、R语言用“:”来快速生成等差数列
a = 1:12
a
b = c(1,3,6:4,9)
b
二、创建一个矩阵
(一)中的x1,y1都是行向量,也可以看成是1行12列的矩阵
1、R语言用matrix()来创建一个矩阵
matrix(data = NA,nrow = 1,ncol = 1,byrow = FALSE,dimnames = NULL) #各参数默认值
data项是必要的矩阵元素
nrow为行数
ncol为列数
nrow和ncol的乘积应该为矩阵元素的个数
byrow项控制排列元素时是否按行进行
dimnames给定行和列的名称
A = matrix(c(1,4,2,5,3,6),nrow=2,ncol=3);
print(A)
B = matrix(c(1,2,3,4,5,6),3,2)
print(B)
C = matrix(x1,2,3)
print(C)
扫描二维码关注公众号,回复:
12070887 查看本文章
D = matrix(x1,3,2)
print(D)
E = matrix(x1,3,2,byrow = T) #创建按行排列的矩阵
print(E)
三、矩阵转置
1、R语言用t()或者transpose()进行矩阵的转置
print(A)
print(t(A))
四、矩阵相加减
R中只能对同行同列的矩阵相加减
1、R语言用“+”对同行同列的矩阵进行加操作
print(A[,1:2])
print(B[1:2,])
print(A[,1:2] + B[1:2,])
2、R语言用“-”对同行同列的矩阵进行减操作
print(A[,1:2])
print(B[1:2,])
print(A[,1:2] - B[1:2,])
五、矩阵相乘
A为m * n矩阵,B为n * m矩阵时,可求A与B的乘积
1、R语言用“%* %"进行矩阵的乘
print(A)
print(B)
print(A %*% B)
print(A)
print(B)
print(B %*% A)
六、矩阵的对角运算
1、R语言用diag()函数取一个方阵的对角元素
F = matrix(1:9,3,3)
print(F)
print(diag(F))
2、R语言用diag()函数产生括号中向量为对角元素的对角矩阵,对一个正整数k将产生k维的单位向量
print(diag(diag(F)))
print(diag(4))
七、矩阵求逆
1、R语言用solve()函数进行矩阵求逆
G = matrix(c(14,32,32,77),2,2)
print(G)
print(solve(G))
R语言用solve(A,b)可解线性方程组Ax = b,若b缺省,则系统默认是单位矩阵,因此可用其进行矩阵求逆。
八、矩阵的特征值与向量
1、R语言用eigen()函数求特征值与特征向量
eigen(x,symmetric,only.values = FALSE,EISPACK = FALSE)
其中:x为矩阵,symmetric指点矩阵x是否为对称矩阵,若不指定,系统将自动监测x是否为对称矩阵
x1=c(17,22,27,22,29,36,27,36,45)
D = matrix(x1,3,3)
print(D)
D.e = eigen(D,symmetric = T)
print(D.e)
九、矩阵奇异值分解
1、在R中可以用svd()函数进行奇异值分解
A = matrix(1:18,3,6)
print(A)
A.s = svd(A)
print(A.s)
十、矩阵的维数
1、在R中使用dim()函数返回一个矩阵的维数
A = matrix(1:18,3,6)
print(A)
dim(A)
2、在R中使用nrow()函数返回一个矩阵的行数
A = matrix(1:18,3,6)
print(A)
nrow(A)
3、在R中使用ncol()函数返回一个矩阵的列数
A = matrix(1:18,3,6)
print(A)
ncol(A)
十一、 矩阵的和
1、在R中使用sum()函数对整个矩阵的元素进行求和
A = matrix(1:18,3,6)
print(A)
sum(A)
2、在R中使用rowSums()函数对矩阵的元素按行进行求和
A = matrix(1:18,3,6)
print(A)
rowSums(A)
3、在R中使用colSums()函数对矩阵的元素按行进行求和
A = matrix(1:18,3,6)
print(A)
colSums(A)
十二、矩阵的均值
1、在R中使用mean()函数对整个矩阵求均值、
A = matrix(1:18,3,6)
print(A)
mean(A)
2、在R中使用rowMeans()函数对矩阵按行求均值
A = matrix(1:18,3,6)
print(A)
rowMeans(A)
3、在R中使用colMeans()函数对矩阵按列求均值
A = matrix(1:18,3,6)
print(A)
colMeans(A)