初学R——数据矩阵及R表示:c()、length()、mode()、“:”、matrix()、t()、“+”、“-”、“%* %“、diag()、solve()、eigen()、svd()等的使用

一、创建一个向量

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)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45154565/article/details/109235269