R語言matrix生成矩陣的方法
主要介紹一下利用matrix函數和rep生成矩陣
在R語言中可以使用matrix()函數來創建矩陣,其語法格式如下:
- matrix(data=NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
參數含義如下:
- data:矩陣的元素,默認為NA,即未給出元素值的話,各項為NA
- nrow:矩陣的行數,默認為1;
- ncol:矩陣的列數,默認為1;
- byrow:元素是否按行填充,默認按列;
- dimnames:以字符型向量表示的行名及列名。
rep函數是R語言中重復操作的函數
- rep(x,times,each,length.out)
- x:代表的是你要進行復制的對象,可以是一個向量或者是一個因子。
- times:代表的是復制的次數,隻能為正數。負數以及NA值都會為錯誤值。復制是指的是對整個向量進行復制。
- each:代表的是對向量中的每個元素進行復制的次數。
- length.out:代表的是最終輸出向量的長度。
下面我們利用這兩個函數生成特定的矩陣
> matrix(rep(1:4,times = 2),nrow = 4 , ncol = 2 ,byrow =T) [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 1 2 [4,] 3 4 > matrix(rep(1:4,times = 2),nrow = 4 , ncol = 2 ,byrow =F) [,1] [,2] [1,] 1 1 [2,] 2 2 [3,] 3 3 [4,] 4 4
從上面兩個執行結果,可以看出,rep生成的是一行向量,matrix把一行的向量按照byrow蠶食指定的填充方向填充
下面我們生成一個4×4的矩陣,要求矩陣的每個位置上的元素等於1/(i+j-1),體會rep兩個參數的含義
> I <- matrix(rep(1:4,times = 4),nrow = 4 , byrow = F) > J <- matrix(rep(1:4,each = 4),nrow = 4 , byrow = T)#實際上J是I的轉置 > A <- 1/(I+J-1) > A [,1] [,2] [,3] [,4] [1,] 1.0000000 1.0000000 1.0000000 1.0000000 [2,] 0.3333333 0.3333333 0.3333333 0.3333333 [3,] 0.2000000 0.2000000 0.2000000 0.2000000 [4,] 0.1428571 0.1428571 0.1428571 0.1428571
到此這篇關於R語言matrix生成矩陣的方法的文章就介紹到這瞭,更多相關R語言matrix生成矩陣內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!