R: matrix & array 生成、操作矩阵、数组:

###################################################

问题:生成、操作矩阵   18.4.27

         怎么生成矩阵 matrix、,,及其相关操作 ???

解决方案:

         D = d = matrix(nrow = 3,ncol = 3)     #生成一个空矩阵,再填写内容。

         a1 = c(1,4,2);   a2 = c(2,2,3);   a3 = c(3,1,0);

         D[,1] = a1; D[,2] = a2; D[,3] = a3

         d[1,] = a1; d[2,] = a2; d[3,] = a3;  #D 与 d 互为转置,证明向量无行列之分。。

         DD = c(a1,a2,a3); length(DD)   #$生成一个向量,是三个向量的总长

         mat1 = matrix(nrow = 8,ncol = 4);   #得到8x4的矩阵,所有元素为NA

         a_mat = matrix(data=a,nrow=4,byrow = T); a_mat  #用向量 a 生成矩阵,长度不够循环补充。

         mat2 = as.matrix(cbind(c1,c2,c3,c4))  # as.matrix, is.matrix  很有用

         #相关操作:

         colnames(mat1) = c("**","**","**","**");   #设置已有矩阵的列名字。。colnames(mat1)查看列名

         rownames(mat1) = c();  #设置行名,,rownames(mat1)查看行名

         mat1[i,j]; 

         mat1[,c(2,4)]; 

         mat1["name",];   #返回名为 “name” 的行

         #矩阵特有运算: 转置: t(mat1);   矩阵乘法: mat1 %*% mat2;   求逆: solve(mat1);

                 #函数rowSums(mat1), colSums(mat1), rowMeans(mat1), colMeans(mat1) 分别可以计算行总和,行均值,列总和,列均值。

讨论扩展:

另请参阅:

###################################################

问题:生成、操作数组   18.4.27

         怎么生成数组 array、,,及其相关操作 ???

解决方案:

         a<-array(rep(1:3,each=3),dim=c(3,3))

         数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。

         数组:一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的。

讨论扩展:

另请参阅:

猜你喜欢

转载自www.cnblogs.com/li-20151130/p/9026636.html