R矩阵那些事(一)
R矩阵是R一种重要的数据结构。关于矩阵,谈谈这些事。事情一:矩阵创建。R矩阵创建可使用matrix()函数,举例说明如下。> data1 <- 1:6> data1 1 2 3 4 5 6> matrix1 <- matrix(data1, 2, 3)> matrix1 [,1] [,2] [,3] 1 3 5 2 4 6说明:1)可以使用0或者NA对矩阵进行初始化操作,例如。> matrix2 <- matrix(0, 2, 3)> matrix2 [,1] [,2] [,3] 0 0 0 0 0 0> matrix3 <- matrix(NA, 2, 3)> print(matrix3) [,1] [,2] [,3] NA NA NA NA NA NA 2)可以通过对于一个向量数据进行维数设置,生成矩阵,例如。> vc1 <- c(1, 3, 5, 7)> vc1 1 3 5 7> dim(vc1) <- c(2, 2)> vc1 [,1] [,2] 1 5 3 7提示:matrix()函数具有非常强大的功能,函数也包括非常丰富的参数,详细描述,参考R帮助文档,即help(matrix)或者?matrix事情二:矩阵运算。矩阵运算常有矩阵转置、矩阵求逆、矩阵乘法或者构建一个单位矩阵等。矩阵转置,可用t()函数,例如。> matrix4 <- matrix(c(2, 4, 6, 8), 2, 2)> matrix4 [,1] [,2] 2 6 4 8> t(matrix4) [,1] [,2] 2 4 6 8矩阵求逆,可用solve()函数,例如。> solve(matrix4) [,1][,2] -1.00.750.5 -0.25矩阵乘法运算,使用运算符%*%,例如。> matrix4 %*% solve(matrix4) [,1] [,2] 1 0 0 1构建单位矩阵或者对角矩阵,可用diag()函数,例如。> diag(3) [,1] [,2] [,3] 1 0 0 0 1 0 0 0 1> diag(2, 3) [,1] [,2] [,3] 2 0 0 0 2 0 0 0 2> diag(matrix4) 2 8> diag(c(1, 2, 3), 3) [,1] [,2] [,3] 1 0 0 0 2 0 0 0 3提示:关于矩阵常用运算函数,详细描述都可以查阅R帮助文档。【想一想】1 如何创建矩阵?结合你的实际工作。2 A %*% B 和 A*B有什么区别?【做一做】1 创建一个数值型的矩阵,对矩阵进行转置和求逆运算?2 创建一个4阶的单位矩阵?
非常感谢,支持多多共享好的资源 > matrix(NA,2,3) 等价于 matrix(,2,3)
[,1] [,2] [,3]
NA NA NA
NA NA NA
页:
[1]