数组、矩阵、列表和数据框的应用
<span style="font-size:14px;">#R语言备忘录三#
#数组array和矩阵matrix、列表list、数据框dataframe
#数组
#数组的重要属性就是dim,维数
#得到4*5的矩阵
z <- 1:12
dim(z) <- c(3,4)
z
#构建数组
x <- array(1:20, dim = c(4,5))
#三维
y <- array(1:18, dim = c(2,3,3))
#数组下标
y[1, 2, 3]
#数组的广义转置,维度发生变化,把2维变成1维,把3维变成2维,把1维变成3维,即D[i,j,k] = C[j,k,i]
C <- array(1:24, dim = c(2,3,4))
D <- aperm(A, c(2,3,1))
#apply用于数组固定某一维度不变,进行计算
apply(A, 1, sum)
#矩阵
#产生矩阵
A <- matrix(1:15, nrow=3, ncol=5, byrow=TRUE)
B <- matrix(3:17, nrow=5, ncol=3, byrow=TRUE)
#求方阵行列式的值
det(matrix(1:4, ncol = 2))
#内积
#矩阵的内积
A %*% B
#也可以使用crossprod函数
crossprod(A, B)
crossprod(A)
#向量的外积,也叫叉积
x <- 1:5
y <- 2*1:5
x %o% y
#也可以使用tcrossprod函数、outer
outer(x, y)
tcrossprod(x)
#产生对角阵
#如果变量是一个向量,则是以向量为对角线元素的对角阵
v <- c(1, 3, 5)
dia