R语言之矩阵操作(2)

这篇博客详细介绍了矩阵的各种操作,包括创建、转置、求逆、特征值和特征向量,以及奇异值分解。同时,还涵盖了矩阵的和、维度、均值等基本属性的计算方法。这些都是线性代数的基础,对于理解和应用数据科学中的线性方程组求解至关重要。
摘要由CSDN通过智能技术生成
  1. 一个量 函数C()
x1=c(1,2,3,4,5,6,7,8)
# 长度
length(x1)
# 类型
mode(x1)
  1. mtrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)函数创建一个矩阵
a=matrix(c(1,3,4,5,76,2,3,4),2,4)
a
# 使用向量x1 生成矩阵
b=matrix(x1,4,2)
b
  1. diag()函数
# 对角线元素
diag(b)
# 创建对角矩阵
diag(5)
  1. t()函数
# 转置 b矩阵
b
t(b)
  1. solve(A,b)可解线性方程组Ax = b,b未给,会自动省略
# 求逆矩阵
A=matrix(c(2,3,4,6,7,8,2,1,4),3,3)
solve(A)
b1 = c(1,2,3)
solve(A,b1)
  1. 矩阵特征值和向量。对称矩阵D = UAU` 其中A 是D的特征值组成的对角矩阵,U的列为D的特征值对应的特征向量。可以使用 eigen(x, symmetric, only.values = FALSE, EISPACK = FALSE)函数
# 对称矩阵d
d = matrix(c(17,22,27,22,29,36,27,36,45),3,3)
# 求取特征值
d.e= eigen(d);d.e
# 还原d矩阵 $符号 是数据引用
d.e$vectors%*%diag(d.e$values)%*%t(d.e$vectors)
u = d.e$vectors
a = d.e$values
  1. 矩阵的奇异值分解。A为m*n的矩阵。A可以分解为:A=UDV`。其中U’U = V’V = I。可以使用svd(x, nu = min(n, p), nv = min(n, p), LINPACK = FALSE)函数,进行奇异值分解。
A=matrix(1:18,3,6);A#矩阵A
A.s = svd(A);A.s #矩阵奇异值分解
A.s$u%*%diag(A.s$d)%*%t(A.s$v) # a = udv’
  1. 矩阵的和、维度和均值
a = matrix(1:15,3,5)
dim(a) #维度
nrow(a) #行数
ncol(a) #列数

sum(a) #求和
rowSums(a) #按行求和
colSums(a) #按列求和

mean(a) #均值
rowMeans(a) #行均值
colMeans(a) #列均值
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值