R语言之矩阵操作(2)

    科技2025-10-18  11

    一个量 函数C() x1=c(1,2,3,4,5,6,7,8) # 长度 length(x1) # 类型 mode(x1) 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 diag()函数 # 对角线元素 diag(b) # 创建对角矩阵 diag(5) t()函数 # 转置 b矩阵 b t(b) 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) 矩阵特征值和向量。对称矩阵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 矩阵的奇异值分解。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’ 矩阵的和、维度和均值 a = matrix(1:15,3,5) dim(a) #维度 nrow(a) #行数 ncol(a) #列数 sum(a) #求和 rowSums(a) #按行求和 colSums(a) #按列求和 mean(a) #均值 rowMeans(a) #行均值 colMeans(a) #列均值
    Processed: 0.019, SQL: 8