一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

R語言筆記1:數(shù)據(jù)類型(向量、數(shù)組、矩陣、 列表和數(shù)據(jù)框)

 萌小芊 2018-03-07


宏基因組按:科研中數(shù)據(jù)分析解讀占用了我們太多時(shí)間,學(xué)習(xí)R語言是生物測序領(lǐng)域數(shù)據(jù)(reads count表)分析及可視化的首選。舉個(gè)例子,擴(kuò)增子分析從fastq到OTU表至多是de novo或reference兩種套路(1-3天)。而對OTU表開始的組間比較、網(wǎng)絡(luò)分析、機(jī)器學(xué)習(xí)等會(huì)有上百種方法和展示方式,每一篇優(yōu)秀的文章,都是數(shù)據(jù)反復(fù)咀嚼上百次優(yōu)化出來的結(jié)果(3個(gè)月-3年),而這一漫長的科研之路有R語言技能的相伴,可將統(tǒng)計(jì)分析可視化操作一網(wǎng)打盡,定能助你事半功倍。

前期公眾號己分享了擴(kuò)增子、宏基因組分析流程及可視化文章上百篇,但一直缺少基礎(chǔ)入門的知識(shí)。今天起分享一位從18年3月1號剛要從wet轉(zhuǎn)dry的學(xué)生零基礎(chǔ)學(xué)習(xí)筆記,供初學(xué)者學(xué)習(xí),雖然筆記會(huì)有不系統(tǒng)的地方,但也正是初學(xué)者需要經(jīng)歷和面對的,希望想入行的快上車,共同學(xué)習(xí),一起成長。


學(xué)習(xí)R語言,需要先安裝R語言,只需要從 https://www./ 下載適合你系統(tǒng)的最新版本軟件安裝即可。R語言有個(gè)優(yōu)秀的環(huán)境叫Rstudio,具體安裝可參考  《R語言學(xué)習(xí) - 入門環(huán)境Rstudio》一文。


R語言中的數(shù)據(jù)類型(Data Types)

R語言的對象(Objects)主要包括向量、矩陣、數(shù)組、數(shù)據(jù)框和列表。

R語言的對象有五種最基本的類型,即,字符型(character)、數(shù)值型(numeric,包括小數(shù))、整型(integer)、復(fù)數(shù)型(complex)以及邏輯型(logical,TRUE/FALSE)

屬性是R語言對象的一部分。主要包括以下幾種:名字(names,dimnames),維度(dimensions,包括矩陣等),類別(class,包括數(shù)字、整數(shù)等),長度(length),以及其他??赏ㄟ^ attributes()函數(shù)查看對象的屬性,不是所有對象都有屬性,如果沒有則返回NULL。


1. 向量

向量(vector)是R語言中最基本的數(shù)據(jù)類型,執(zhí)行組合功能的函數(shù) c()可用來創(chuàng)建向量。

各類向量如下例所示:

  1. a <> c (1, 2, 7, -4, 5)            ## numeric

  2. b <> c ('Rice', 'Wheat')           ## character

  3. c <> c (TRUE, TRUE, FALSE, TRUE)   ## logical

  4. d <> c (1+0i, 2+4i)                ## complex

  5. e <> c (9:17)                      ## integer

注意:單個(gè)向量中的數(shù)據(jù)必須擁有相同的類型(數(shù)值型、字符型或邏輯型)。

創(chuàng)建空向量可以使用 vector()函數(shù)。例如創(chuàng)建一個(gè)指定長度為10、類型為數(shù)值型的空向量:

  1. > x <> vector('numeric', length = 10)

  2. > x

  3. [1] 0 0 0 0 0 0 0 0 0 0

另外,標(biāo)量是只含一個(gè)元素的向量,它們用于保存常量。例如

  1. f <> 3

  2. g <> 'US'

  3. h <> TRUE

2. 矩陣

矩陣(matrice)是具有維度屬性的向量,矩陣都是二維的,和向量類似,矩陣中也僅能包含一種數(shù)據(jù)類型。

主要有三種創(chuàng)建矩陣的方法:

(1)直接創(chuàng)建

例:數(shù)字1-20自動(dòng)創(chuàng)建為一個(gè)5行4列的矩陣,自動(dòng)填充第一列之后開始填充第二列

  1. y <> matrix(1:20, nrow = 5, ncol = 4)

  2. > y

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

  4. [1,]    1    6   11   16

  5. [2,]    2    7   12   17

  6. [3,]    3    8   13   18

  7. [4,]    4    9   14   19

  8. [5,]    5   10   15   20

  9. > dim(y)                          

  10. [1] 5 4                            ##dim()看維度,5行4列

(2)矢量+維度向量

添加維度向量 dim()是將矢量轉(zhuǎn)變?yōu)榫仃嚨姆椒?/p>

  1. > m <> c(1:10)

  2. > m

  3. [1]  1  2  3  4  5  6  7  8  9 10

  4. > dim(m) <> c(2,5)                   ##2行5列          

  5. > m

  6.     [,1] [,2] [,3] [,4] [,5]

  7. [1,]    1    3    5    7    9

  8. [2,]    2    4    6    8   10

(3)綁定行或列來創(chuàng)建矩陣

綁定行或綁定列可以通過 cbind()rbind()來實(shí)現(xiàn)

  1. > x <> 1:3

  2. > y <> 10:12

  3. > cbind (x, y)

  4.     x  y

  5. [1,] 1 10

  6. [2,] 2 11

  7. [3,] 3 12

  8. > rbind (x, y)

  9.  [,1] [,2] [,3]

  10. x    1    2    3

  11. y   10   11   12

3. 數(shù)組

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

4. 列表

列表(list)是一種可包含多種不同類型對象的向量,是一些對象(或成分,component)的有序集合。

  1. > x <> list(1, 'a', TRUE, 1 + 4i)

  2. > x

  3. [[1]]

  4. [1] 1

  5. [[2]]

  6. [1] 'a'

  7. [[3]]

  8. [1] TRUE

  9. [[4]]

  10. [1] 1+4i

5.數(shù)據(jù)框

數(shù)據(jù)框(Data Frames)是一種特殊的列表,其中所用元素長度都相等,列表中的每個(gè)元素都可以看作一列,每個(gè)元素的長度可以看作行數(shù)。

創(chuàng)建顯式數(shù)據(jù)框的方法是 data.frame()

  1. > ID <> c(1,2,3,4)

  2. > age <> c(25,26,55,43)

  3. > diabetes <> c('Type1','Type2','Type3','Type1')

  4. > status <> c('Poor', 'Improved', 'Excellent','Poor')

  5. > data <> data.frame(ID, age, diabetes, status)

  6. > data

  7.  ID age diabetes    status

  8. 1  1  25    Type1      Poor

  9. 2  2  26    Type2  Improved

  10. 3  3  55    Type3 Excellent

  11. 4  4  43    Type1      Poor

參考資料:

  1. https:///rdpeng/rprogdatascience/R Programming for Data Science

  2. 《R語言實(shí)戰(zhàn)》 Robert I. Kabacoff

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    九七人妻一区二区三区| 精品一区二区三区中文字幕| 日本精品视频一二三区| 亚洲中文字幕人妻av| 久热青青草视频在线观看| 永久福利盒子日韩日韩| 亚洲国产精品肉丝袜久久| 日韩精品一区二区不卡| 亚洲中文字幕在线综合视频| 国产不卡视频一区在线| 日韩国产中文在线视频| 国产精欧美一区二区三区久久| 日韩人妻免费视频一专区| 国产一区二区三区口爆在线| 欧美小黄片在线一级观看| 九九热视频免费在线视频| 粉嫩内射av一区二区| 亚洲精品福利入口在线| 欧美亚洲另类久久久精品| 日韩性生活片免费观看| 高中女厕偷拍一区二区三区| 欧美又大又黄刺激视频| 国产精品日韩欧美一区二区| 欧美国产日本高清在线| 国产一区二区熟女精品免费| 日韩av亚洲一区二区三区| 精品国产91亚洲一区二区三区| 日韩一级毛一欧美一级乱| 色婷婷国产精品视频一区二区保健| 日韩欧美国产精品自拍| 九九热最新视频免费观看| 国产一二三区不卡视频| 久久国产精品亚州精品毛片| 欧美一级黄片欧美精品| 欧美偷拍一区二区三区四区| 五月婷婷六月丁香狠狠| 97精品人妻一区二区三区麻豆| 五月激情婷婷丁香六月网| 色婷婷在线视频免费播放| 欧美日韩乱码一区二区三区| 日韩欧美综合在线播放|