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!

推薦閱讀: