亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

R語言數據結構之矩陣、數組與數據框詳解

 更新時間:2022年07月11日 09:34:39   作者:Bio大恐龍  
進行數據分析的第一步是先拿到數據,下面這篇文章主要給大家介紹了關于R語言數據結構之矩陣、數組與數據框的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

了解一門語言,首先要了解它的數據結構。該文主要介紹矩陣、數組和數據框。文章僅供學習使用,歡迎留言交流哦!

一、矩陣(matrix)

1.1矩陣的創(chuàng)建:

矩陣由指定的行(row)和列(column)構成,與高數中的矩陣相同。與之前提到的向量一樣,矩陣只能儲存同種類型的數據。

matrix(  ):創(chuàng)建矩陣

matrix(
  data  #要創(chuàng)建矩陣的數據,一般為向量
  nrow  #行數
  ncol  #列數
  byrow = TRUE  #若為TRUE,按行填充矩陣,若為FALSE,按列填充矩陣
  dimnames  #為矩陣個維度命名
)

接下來使用該函數來創(chuàng)建一個3*3的矩陣:

如圖所示,這個由1~9組成的3*3矩陣,左邊指定了行數未指定列數,右邊指定了列數未指定行數,但所得矩陣相同,所以系統(tǒng)會自動識別并填充。上面兩個矩陣都是按列填充矩陣,由于未設置byrow,所以采用默認值FALSE。下面來看一下當byrow為TRUE時,有何不同:

可以看出,byrow為TRUE時,矩陣對數據進行了按行填充。

接下來介紹dimnames函數,為矩陣的行與列命令,第一個向量為行名,第二個向量為列名。

matrix(1:9,ncol = 3,byrow = TRUE,dimnames = list(c("x1","x2","x3"),c("y1","y2","y3")))

得到下圖所示矩陣,與上述矩陣相比,[1,]等變成了x1,y1。

對于已經創(chuàng)建好的向量,可以使用dimnames(),rownames(),colnames()為矩陣進行命名:

創(chuàng)建名為train1,train2的矩陣,train1用dimnames()進行命名,train2分別用rownames(),colnames()對行與列進行命名。

train1 <- matrix(1:9,ncol = 3)
train2 <- matrix(10:18,ncol = 3)
dimnames(train1) <- list(c("x1","x2","x3"),c("y1","y2","y3"))
(rownames(train2) <- c("迪迦","塞羅","特斯拉"))
(colnames(train2) <- c("天王","地虎","二百五"))

所得結果如上圖。同時dimnames(),rownames(),colnames()還能獲取矩陣的名稱,使用dimnames獲取train2的名稱(其他兩個大家可以自己嘗試一下昂),結果如下圖:

1.2訪問矩陣的數據:

matrixname[ridx,cidx]:訪問matrixname矩陣中ridx行cidx列的數據:

例如訪問train1中的第二行第二列數據,為5。

也可以使用負數,效果與向量中使用負數相同,即輸出除某列或某行的其他所有數據。例如輸出train2中除第二行的所有數據。

1.3矩陣的運算:

四則運算符
運算符含義
X + a矩陣X中所有值與標量a相加,還可以使用"-","*","/"運算符
X + Y對矩陣X與矩陣Y求和,還能使用"-"求矩陣間的差
X %*% Y求矩陣X與矩陣Y的積
矩陣運算相關的函數
函數名函數作用
solve()從式子Y%*%X=Z中求解X,Y、Z為矩陣
nrow()求行數
ncol()求列數
dim求維度
dim <-設置對象的維度
t()求矩陣的轉置矩陣

這里就不演示了,大家可以自己嘗試,如果有疑問可以評論交流(一般中午、晚上會看的,歡迎評論哦)。

二、數組(array)

2.1數組的創(chuàng)建:

數組與矩陣、向量不同,它可以存儲不同數據類型的數據。而且數組是多維的,可以是2*3*4維的。創(chuàng)建數組使用array()函數:

array(
  data #數據
  dim = length(data) #數組維數,若不設置,則為一維數組
  dimnames #維度的名稱
)

接下來創(chuàng)建一個3*4的數組和一個2*3*2的數組作為示例:

x <- array(1:12,dim = c(3,4))
y <- array(1:12,dim = c(2,3,2))

所得結果如上圖,左圖很容易看懂,不做過多解釋。右圖根據 y <- array(1:12,dim = c(2,3,2))所得,其中c(2,3,2)的最后一個數字是指右圖中,,1和,,2,可以將其理解為層數,第一層由1,2,3,4,5,6構成,兩行三列。

2.2訪問數組的數據:

與向量相同,使用X[xidx,yidx,zidx...nidx]訪問數組數據:

訪問y第二層中第二行第二列的數據,結果如下:

三、數據框

3.1數據框的創(chuàng)建:

數據框類似于表格,例如上面矩陣運算中所展示的表格??梢允褂胐ata.frame()創(chuàng)建數據框

data.frame(
  #以value或name = value的形式展現(xiàn)的數據值
)

可能有點看不懂,沒有關系,我們來看幾個例子就可以了。創(chuàng)建一個名為名人的數據框:

名人 <-data.frame(美女 = c("西施","王昭君","貂蟬"),名將 = c("荊軻","要離","岳飛"))

x <- 1:5
y <- 6:10
z <- 11:15
d <- data.frame(x,y,z)

運行結果如上圖,數據框會將你輸入的數據按列排布,做出一個類似表格的形式。在數據框中也可以使用rownames(),colnames()等函數,下面以rownames做一個示例: 

 rownames(d) <- c("three","four","two","five","one")

數據框的數據訪問于上述差不多,大家可以自己嘗試一下。

總結

到此這篇關于R語言數據結構之矩陣、數組與數據框的文章就介紹到這了,更多相關R語言矩陣、數組與數據框內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • R語言boxplot函數深入講解

    R語言boxplot函數深入講解

    這篇文章主要介紹了R語言boxplot函數深入講解,文中圖文講解的很透徹,有感興趣的同學可以研究下
    2021-03-03
  • R語言之左連接的三種實現(xiàn)操作

    R語言之左連接的三種實現(xiàn)操作

    這篇文章主要介紹了R語言之左連接的三種實現(xiàn)操作,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 解決R語言安裝時出現(xiàn)輯程包不存在的問題

    解決R語言安裝時出現(xiàn)輯程包不存在的問題

    這篇文章主要介紹了解決R語言安裝時出現(xiàn)輯程包不存在的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言關于泊松回歸知識點總結

    R語言關于泊松回歸知識點總結

    在本篇文章里小編給大家分享的是一篇關于R語言關于泊松回歸知識點總結內容,有興趣的朋友們可以學習下。
    2021-05-05
  • R語言拼接字符串_paste的用法說明

    R語言拼接字符串_paste的用法說明

    這篇文章主要介紹了R語言拼接字符串_paste的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言表達式知識點總結

    R語言表達式知識點總結

    在本篇文章里小編給大家整理了一篇關于R語言表達式知識點總結內容,有興趣的朋友們可以學習參考下。
    2021-03-03
  • R語言數據類型和對象深入講解

    R語言數據類型和對象深入講解

    這篇文章主要介紹了R語言數據類型和對象深入講解,文中列舉的實例講解的很清楚,有感興趣的同學可以學習下
    2021-03-03
  • R語言常見面試題整理

    R語言常見面試題整理

    在本篇文章里小編給大家整理了一篇關于R語言常見面試題整理內容,有興趣的朋友們可以學習下。
    2021-05-05
  • R語言操作XML文件實例分析

    R語言操作XML文件實例分析

    在本篇文章里小編給大家整理的是一篇關于R語言操作XML文件實例分析,有興趣的朋友們可以跟著學習下。
    2021-05-05
  • R語言數據可視化包ggplot2畫圖之散點圖的基本畫法

    R語言數據可視化包ggplot2畫圖之散點圖的基本畫法

    散點圖主要用于描述兩個連續(xù)變量之間的關系,通過散點圖發(fā)現(xiàn)變量之間的相關性強度、是否存在線性關系等,下面這篇文章主要給大家介紹了關于R語言數據可視化包ggplot2畫圖之散點圖的基本畫法,需要的朋友可以參考下
    2022-11-11

最新評論