国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        R語言教程:數據結構+導入數據!

        2020-12-29 16:46
        科研菌
        關注

        2.1 數據結構

        數據集通常是由數據構成的一個矩形數組,行表示觀測,列表示變量(但不同行業(yè)對行和列叫法不同,在R中用觀測和變量代表行和列)。

        R可以處理的數據類型(模式)包括數值型、字符型、邏輯型(TRUE/FALSE)、復數型(虛數)和原生型(字節(jié))。

        R擁有許多用于存儲數據的對象類型,包括標量、向量、矩陣、數組、數據框和列表。

        1. 標量

        標量是只含一個元素的向量,用于保存常量。例如例如 f<-3 、 g<-“US” 和 h<-TRUE。

        2. 向量

        向量是用于存儲數值型、字符型或邏輯型數據的一維數組。執(zhí)行組合功能的函數c()可用來創(chuàng)建向量。

        a <- c(1, 2, 5, 3, 6, -2, 4) b <- c("one", "two", "three")c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)

        注意,單個向量中的數據必須擁有相同的類型或模式(數值型、字符型或邏輯型)。

        訪問向量中的元素:在方括號中給定元素所處位置

        a <- c("k", "j", "h", "a", "c", "m")a[3][1] "h"a[c(1, 3, 5)][1] "k" "h" "c"a[2:6]        #冒號用于生成一個數值序列[1]  "j" "h" "a" "c" "m"

        3. 矩陣

        矩陣是一個二維數組,只是每個元素都擁有相同的模式(數值型、字符型或邏輯型)。可通過函數matrix()創(chuàng)建矩陣。一般格式:

        myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,                     byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

        vector包含了矩陣的元素

        nrow和ncol用以指定行和列的維數

        選項byrow則表明矩陣應當按行填充(byrow=TRUE)還是按列填充(byrow=FALSE),默認情況下按列填充

        dimnames包含了可選的、以字符型向量表示的行名和列名

        創(chuàng)建一個5×4的矩陣:

        y <- matrix(1:20, nrow=5, ncol=4)   y     [,1] [,2] [,3] [,4]    [1,]    1    6   11   16    [2,]    2    7   12   17    [3,]    3    8   13   18    [4,]    4    9   14   19    [5,]    5   10   15   20

        創(chuàng)建一個按行填充的2×2矩陣:

        cells <- c(1,26,24,68)rnames <- c("R1", "R2")cnames <- c("C1", "C2")mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,                   dimnames=list(rnames, cnames))  mymatrix          C1 C2    R1  1 26   R2 24 68

        創(chuàng)建一個按列填充的2×2矩陣:

        mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=FALSE,                   dimnames=list(rnames, cnames))mymatrix   C1 C2R1  1 24R2 26 68

        矩陣下標的使用:

        x <- matrix(1:10, nrow=2)  #創(chuàng)建了一個內容為數字1到10的2×5矩陣x           [,1] [,2] [,3] [,4] [,5]    [1,]    1    3    5    7    9    [2,]    2    4    6    8   10
        x[2,]        #選擇第二行的元素[1]  2  4  6  8 10 x[,2]        #選擇第二列的元素[1] 3 4 x[1,4]       #選擇第1行的第4列的元素[1] 7x[1, c(4,5)] #選擇第1行的第4和5列的元素[1] 7 94. 數組

        數組(array)與矩陣類似,但是維度可以大于2。可通過array函數創(chuàng)建,格式如下:

        myarray <- array(vector, dimensions, dimnames)

        vector包含了數組中的數據

        dimensions是一個數值型向量,給出各個維度下標的最大值

        dimnames是可選的、各維度名稱標簽的列表

        創(chuàng)建一個三維(2×3×4)數值型數組:

        dim1 <- c("A1", "A2")dim2 <- c("B1", "B2", "B3")dim3 <- c("C1", "C2", "C3", "C4")z <- array(1:24, c(2, 3, 4), dimnames=list(dim1, dim2, dim3))  z    , , C1          B1 B2 B3    A1  1  3  5    A2  2  4  6    
        , , C2          B1 B2 B3    A1  7  9 11    A2  8 10 12    
        , , C3          B1 B2 B3    A1 13 15 17    A2 14 16 18    , , C4          B1 B2 B3    A1 19 21 23    A2 20 22 245. 數據框

        數據框是包含了不同模式(數值型、字符型等)的數據的集合。可通過函數data.frame()創(chuàng)建:

        mydata <- data.frame(col1, col2, col3, ...)

        列向量col1、col2、col3等可為任何類型(如字符型、數值型或邏輯型)

        每一列的名稱可由函數names指定

        創(chuàng)建數據框:

        patientID <- c(1, 2, 3, 4)age <- c(25, 34, 28, 52)diabetes <- c("Type1", "Type2", "Type1", "Type1")status <- c("Poor", "Improved", "Excellent", "Poor")patientdata <- data.frame(patientID, age, diabetes, status)patientdata        patientID age diabetes    status    1         1  25    Type1      Poor    2         2  34    Type2  Improved    3         3  28    Type1 Excellent    4         4  52    Type1      Poor

        每一列數據的模式必須唯一。

        選取數據框中的元素:

        patientdata[1:2]  patientID age1         1  252         2  34 3         3  284         4  52patientdata[c("diabetes", "status")]  diabetes    status1    Type1      Poor    2    Type2  Improved    3    Type1 Excellent    4    Type1      Poorpatientdata$age         # $用來選取一個給定數據框中的某個特定變量[1] 25 34 28 52

        可以聯(lián)合使用函數attach()和detach()或單獨使用函數with()來簡化代碼,避免每個變量名前都鍵入一次patientdata$。

        attach()、detach()和with()

        例:mtcars數據框

        summary(mtcars$mpg)plot(mtcars$mpg, mtcars$disp)plot(mtcars$mpg, mtcars$wt)

        以上代碼可以寫成:

        attach(mtcars)    #函數attach()可將數據框添加到R的搜索路徑中summary(mpg)plot(mpg, disp)plot(mpg, wt)detach(mtcars)    #函數detach()將數據框從搜索路徑中移除

        detach()并不會對數據框本身做任何處理,可以省略,但其實它應當被例行地放入代碼中。

        當名稱相同的對象不止一個時,這種方法有局限性。

        mpg <- c(25, 36, 47)attach(mtcars)The following object(s) are masked _by_ '.GlobalEnv':     mpg
        plot(mpg, wt)Error in xy.coords(x, y, xlabel, ylabel, log) :      'x' and 'y' lengths differ
        mpg    [1] 25 36 47

        在數據框mtcars被綁定(attach)之前,環(huán)境中已經有了一個名為mpg的對象,原始對象將取得優(yōu)先權。函數attach()和detach()最好在分析一個單獨的數據框,并且沒有多個同名對象時使用。

        函數with()重寫上例:

        with(mtcars, {  print(summary(mpg))  plot(mpg, disp)  plot(mpg, wt)})

        花括號{}之間的語句都針對數據框mtcars執(zhí)行,如果僅有一條語句(例如summary(mpg)),那么花括號{}可以省略。
        因此,函數with()的局限性在于,賦值僅在此函數的括號內生效。

        with(mtcars, {  stats <- summary(mpg)  stats})stats錯誤: 找不到對象'stats'

        創(chuàng)建在with()結構以外存在的對象,使用特殊賦值符<<-替代標準賦值符(<-)即可,它可將對象保存到with()之外的全局環(huán)境中。

        1  2  下一頁>  
        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

        發(fā)表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯(lián)系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 藁城市| 中文字幕高清| 青青草无码| 无码?人妻?在线| 内射网站| 化州市| 伊人综合夜夜操| 国产又粗又猛又爽又黄AV| 九色91| 欧美午夜福利| 激情图区| 夜夜嗨AV一区二区三区网页| 亚洲自拍中文| 金川县| 调兵山市| 99在线精品国自产拍不卡| 色三区| 亚洲欧美另类图片| 国产igao| 中国老熟妇| 国产人妖TS重口系列网站观看| www.99热| 亚洲5555| 中文字幕AV一区| 俺去啦中文网| 国产av大全| 婷婷五月花| 将乐县| 无码午夜| 色偷偷免费视频| 国产AV影院| 日韩人妻丰满无码区A片| 久久精品欧美一区二区三区麻豆| 欧美涩色| 磐石市| 米泉市| 人妻无码一区二区三区| 黑人AV无码| 江孜县| 黑人无码视频| 老司机在线精品|