亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > R > 正文

R語言中矩陣的使用

2023-05-01 13:45:48
字體:
來源:轉載
供稿:網友

在R語言中,矩陣(matrix)是將數據按行和列組織數據的一種數據對象,相當于二維數組,可以用于描述二維的數據。與向量相似,矩陣的每個元素都擁有相同的數據類型。通常用列來表示來自不同變量的數據,用行來表示相同的數據。

1、R語言中矩陣的創建

在R語言中可以使用matrix()函數來創建矩陣,其語法格式如下:

matrix(data=NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

參數含義如下:

data:矩陣的元素,默認為NA,即未給出元素值的話,各項為NA

nrow:矩陣的行數,默認為1;

ncol:矩陣的列數,默認為1;

byrow:元素是否按行填充,默認按列;

dimnames:以字符型向量表示的行名及列名。

(1)創建形式1

m1 <- matrix(c(1:6),nrow=2,ncol=3,dimnames=list(c("r1","r2"),c("c1","c2","c3")))

(2)創建形式2

m2 <- matrix(1:6,nrow=2)  #共6個元素,分2行,每行3個元素,未指定行名和列名

(3)創建形式3

m3 <- matrix(1:6,ncol=3)  #共6個元素,結果與創建形式2相同

(4)創建形式4

m4 <- matrix(nr=2,nc=3)  #未指定元素數據,默認為NA,2行3列,nr是nrow的簡寫,nc是ncol的簡寫,R能識別

以上4中形式的執行效果如下圖所示:

R語言中創建矩陣的方法

(5)創建形式5

使用rbind函數或cbind函數可以將兩個向量或矩陣合并為一個矩陣

v1 <- c(1:4)  #創建名為v1的向量

v2 <- c(5:8) #創建名為v2的向量

m5 <- rbind(v1,v2)  #將向量v1和v2按行合并為一個矩陣

m6 <- cbind(v1,v2)  #將向量v1和v2按列合并為一個矩陣

m7 <- rbind(m1,m2)  #將上面定義的矩陣m1和m2合并為一個新的矩陣

本部分的執行效果見下圖

R語言中使用rbind函數和cbind函數生成新矩陣

2、R語言中矩陣的索引

R語言中,矩陣的索引方式主要有以下幾種:

直接使用矩陣名可以獲得整個矩陣的情況,如下圖:

R語言中使用矩陣名輸出矩陣所有元素

(1)矩陣名[行位置,列位置]  獲取某個元素的值

  m1[2,1]   #輸出矩陣m1第2行第1列的元素值:2

(2)矩陣名[行位置, ] 獲取某一行的所有元素

  m1[2, ]   #輸出矩陣m1中第2行的數據

(3)矩陣名[ , 列位置]   獲取某一列的所有元素

  m1[ ,2]  #輸出矩陣m1中第2列的所有元素

(4)矩陣名[ "行名","列名"]  通過行名和列名獲取某一個元素

  m1["r1", "c2"]

(5)矩陣名["行名", ] 通過行名來獲取矩陣某一行的所有元素

  m1["r2", ]

(6)矩陣名[ , "列名"]  通過列名來獲取矩陣某一列的所有元素

  m1[ , "c1"]

(7)矩陣名[ -r, -c]  排除第r行和第c列數據

  m1[-1, -2]  #除去第1行及第2列的數據

以上部分的執行結果見下圖:

R語言中矩陣的主要索引方式

(8)矩陣名[-r , ]  除去第r行之外的數據

  m1[-2,]  #除去第2行之外的數據

(9)矩陣名[ , -c]  除去第c列之外的數據

  m1[, -2]  #除去第2列之外的數據

以上兩種情況的執行結果:

R語言中矩陣排除指定的元素或行貨列的方法

(10)矩陣名[向量1,向量2]  獲取向量1表示的行集和向量2表示的列集交叉處的數據

  m1[c(1,2),c(1,3)]

(11)矩陣名[向量1, ]獲取向量1表示的行集的數據

  m1[c(1,2), ]

(12)矩陣名[, 向量2]  獲取向量2表示的列集的數據

  m1[ , c(1,3)]

以上三種情況的執行結果:

R語言中使用向量訪問矩陣的元素

(13)矩陣名[-向量1, -向量2]  獲取除指定行集和列集之外的元素

  m1[-c(1),-c(2,3)]

(14)矩陣名[-向量1, ]獲取除指定行集之外的元素

   m1[-c(2), ]

(15)矩陣名[ , -向量2]  獲取除指定列集之外的元素

   m1[ , -c(1:2)]

(16)矩陣名[行名稱向量,列名稱向量]  獲取指定行名稱和列名稱的元素,或只指定行名稱向量,或列向量均可

   m1[c("r1","r2"), c("c1","c3")]

   m1[c("r1,"r2") , ]

   m1[ , c("c1","c3")]

注意在以上使用矩陣的索引或向量表示的索引集時,索引不能超過矩陣的最大維數。

3、矩陣的編輯

(1)修改矩陣元素的值

在R語言中,主要通過以下幾種形式來修改矩陣中的元素值。

①修改單個值

 m1[1,2] = 12   #將矩陣m1中第1行第2個元素的值修改為12

 m1["r2","c2"] = 22 #將矩陣m1中行名稱為r2與列名稱c2交叉處的元素值修改為22

②修改某一行的數據

m1[2,] = c(21,22,23)  #將矩陣第2行的數據修改為21,22,23

m1["r1" ,] = c(11:13)  #將矩陣名稱為r1的行的數據修改為11 ,12, 13

m1[1, ] = 0  #將矩陣m1的第一行的數據都修改為0

③修改某一列的數據

m1[, 1] = c(11,21)  #將矩陣的第一列數據修改為11,21

m1[, "c2"] = c(221,222)  #將矩陣中名為c2的列數據改為221,222

m1[,3 ] = 333  #將矩陣第3列的數據都修改為333

注意下面這種情況:

ma <- (1:16, nr=4)  #創建名為ma的矩陣,共4行4列

輸出

          [,1]    [,2]    [,3]      [,4]

[1,]      1        5        9       13

[2,]      2        6       10       14

[3,]      3        7       11       15

[4,]      4        8       12      16

修改第2列的數據:

ma[,2] = c(12,22)   #這樣,向量的數據可以重復以補齊到與矩陣ma的行數相同

即第2列的數據變為 12  22  12  22

但是如果向量中提供的元素個數不能被替換對象的維數整除的話,會報錯,也就是說這里要替換的列元素有4個,提供了2個,2能被4整除,則其通過重復循環向量2次可以將矩陣列元素補齊,但如提供的向量元素有3個的話,會給出“被替換的項目不是替換值長度的倍數”的錯誤。即對于ma矩陣,其行或列給出替換的元素個數只能是1或2或4,其余會報錯。

(2)刪除指定的行或列

m1 <- m1[-2,]  #刪除第2行

m1 <- m1[,-2]  #刪除第2列

m2<- m2[-1,-2]  #刪除矩陣的第1行以及第2列

注意,上面使用了給矩陣重新賦值的方式,否則不能實現刪除操作,僅是訪問。

(3)矩陣的合并

可以使用上面所說的rbind和cbind函數進行合并

m1<-rbind(m1,c(31,32,33))  #將向量按行合并到矩陣m1中

m1<-cbind(m1,c(44,45))  #將向量按列合并到矩陣m1中

同樣,上面給出的向量元素不足時,循環使用,同樣當元素個數不足時,其提供的元素個數應能被對應的行維或列維除盡,即列數或行數需是所提供的元素個數的整數倍。

4、矩陣的常用運算

(1)colSums(m1)  求矩陣各列的和

(2)rowSums(m1)  求矩陣各行的和

(3)colMeans(m1)求矩陣各列的均值

(4)rowMeans(m1)求矩陣個行的均值

(5)t(m1)  將矩陣轉置

(6)det(m1)求解方陣的行列式

(7)diag(m1)  取矩陣的對角元素

(8)solve(m1)  求矩陣的逆陣

(9)eigen(m1)  求矩陣的特征值和特征向量

(10)nrow(m1)  求矩陣的行數

(11)ncol(m1) 求矩陣的列數

(12)dim(m1)  求矩陣的行維與列維

(13)corsspod(A,B)  求兩個矩陣的內積   AB  = ATB  第一個矩陣的列數應與第二個矩陣的行數相同

(14)A %*% B  與(13)相同

(完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品九九九| 成人精品一区二区三区| 668精品在线视频| 日韩av在线播放资源| 国产精品盗摄久久久| 国产欧美最新羞羞视频在线观看| 亚洲丁香婷深爱综合| 成人精品久久av网站| 中文字幕免费国产精品| 久久乐国产精品| 日韩欧美国产高清91| 日韩在线视频中文字幕| 97视频在线观看播放| 国产精品午夜一区二区欲梦| 午夜精品免费视频| 久久久国产91| 免费91麻豆精品国产自产在线观看| 91国产中文字幕| 91理论片午午论夜理片久久| 2024亚洲男人天堂| 日韩精品免费在线播放| 国内精品免费午夜毛片| 最近2019中文字幕大全第二页| 久久精品视频导航| 亚洲香蕉av在线一区二区三区| 国产日韩综合一区二区性色av| 国产又爽又黄的激情精品视频| 在线看日韩欧美| 日韩电影免费在线观看| 国产日本欧美在线观看| 亚洲综合视频1区| 精品爽片免费看久久| 亚洲欧美在线免费| 亚洲电影免费观看高清完整版在线观看| 九九热99久久久国产盗摄| 亚洲欧美精品suv| 日本精品性网站在线观看| 久久影院资源网| 国产精品18久久久久久麻辣| 国产精品久久久久久一区二区| 夜色77av精品影院| 欧美激情精品久久久久久久变态| 久久久久久久国产| 久久久国产精品x99av| 91国产美女视频| 永久555www成人免费| 欧美成人免费网| 国产精品久久久久久影视| 国产精品久久久久久久久久| 日韩欧美aaa| 日韩欧美在线国产| 国产欧美日韩专区发布| 成人免费高清完整版在线观看| 日产日韩在线亚洲欧美| 亚洲无av在线中文字幕| 日韩中文视频免费在线观看| 欧美精品成人91久久久久久久| 日韩电影在线观看中文字幕| 国产在线精品播放| 亚洲欧洲激情在线| 国产亚洲精品久久久久久777| 久99九色视频在线观看| 亚洲天堂网站在线观看视频| 欧美精品成人在线| 国产乱人伦真实精品视频| 精品偷拍各种wc美女嘘嘘| 国产美女久久精品| 久久久久亚洲精品成人网小说| 久久乐国产精品| 亚洲色图15p| 国产丝袜一区二区三区免费视频| 91精品国产高清| 亚洲国产欧美一区二区三区久久| 亚洲四色影视在线观看| 国产成人综合av| 日韩av在线免费看| 亚洲国产日韩欧美综合久久| 色偷偷偷亚洲综合网另类| 狠狠色噜噜狠狠狠狠97| 久久精品在线视频| 成人h视频在线观看播放| 久久91亚洲精品中文字幕| 国产精品视频内| 性日韩欧美在线视频| 麻豆乱码国产一区二区三区| 91网站免费观看| 欧美亚洲另类激情另类| 色777狠狠综合秋免鲁丝| 国产精品日韩久久久久| 26uuu国产精品视频| 久久久久久噜噜噜久久久精品| 亚洲美女性视频| 精品久久久av| 亚洲午夜久久久影院| 国产97在线|日韩| 亚洲一区二区三区毛片| 国产亚洲视频中文字幕视频| 欧美亚洲成人xxx| 九色精品免费永久在线| 亚洲一区二区三区xxx视频| 国产中文日韩欧美| 国产欧美日韩中文字幕| 欧美激情三级免费| 川上优av一区二区线观看| 丝袜美腿精品国产二区| 91嫩草在线视频| 亚洲精品久久久久国产| 亚洲成人久久久久| 成人福利在线观看| 日韩精品极品在线观看播放免费视频| 亚洲天堂免费在线| 久久精品国产91精品亚洲| 日本伊人精品一区二区三区介绍| 国模私拍视频一区| 中文字幕在线观看日韩| 亚洲国产欧美一区二区三区同亚洲| 久热精品视频在线观看一区| 欧美亚洲国产日本| 精品国偷自产在线| 亚洲春色另类小说| 久久免费少妇高潮久久精品99| 日韩视频永久免费观看| 国产日韩综合一区二区性色av| 国产精品视频yy9099| 91亚洲精品在线| 国产成人综合亚洲| 亚洲激情免费观看| 精品久久久国产精品999| 国产精品美女久久久久av超清| 亚洲第一福利视频| 国内精品久久久久伊人av| 91视频国产精品| 韩日精品中文字幕| 国产一区二区精品丝袜| 精品国产一区二区三区久久狼5月| 国产精品91免费在线| 97在线看免费观看视频在线观看| 国产精品成人一区二区| 日韩电影中文 亚洲精品乱码| 色琪琪综合男人的天堂aⅴ视频| 91久久精品久久国产性色也91| 26uuu日韩精品一区二区| 性夜试看影院91社区| 777午夜精品福利在线观看| 亚洲一区二区三区xxx视频| 精品久久香蕉国产线看观看亚洲| 亚洲欧美在线第一页| 日本19禁啪啪免费观看www| 黄色一区二区在线| 91精品视频在线看| 成人中文字幕在线观看| 国产精品日韩在线| 国产精品成人免费电影| 欧美日韩电影在线观看| 一个人www欧美| 国产精品欧美一区二区三区奶水| 日韩在线观看你懂的| 精品久久久久久久中文字幕| 欧洲亚洲免费视频| 亚洲午夜激情免费视频| 久久久伊人日本| 久久影视电视剧免费网站清宫辞电视| 色哟哟亚洲精品一区二区| 98精品国产高清在线xxxx天堂|