1. 程式人生 > >R: matrix & array 生成、操作矩陣、數組:

R: matrix & array 生成、操作矩陣、數組:

得到 其中 證明 nbsp 循環 sum 問題: 三維 AS

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

問題:生成、操作矩陣 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是各維的長度組成的向量。

數組:一維數據是向量,二維數據是矩陣,數組是向量和矩陣的直接推廣,是由三維或三維以上的數據構成的。

討論擴展:

另請參閱:

R: matrix & array 生成、操作矩陣、數組: