R語言——5種數(shù)據(jù)結構

本文首發(fā)于“生信大碗”公眾號檬某,轉載請注明出處

R語言是數(shù)據(jù)分析和可視化的軟件撬腾,數(shù)據(jù)是起點。這篇文章就來給大家介紹一下R中的5種數(shù)據(jù)結構——向量恢恼、矩陣民傻、數(shù)組、數(shù)據(jù)框场斑、列表漓踢。

基本概念

首先,我們需要了解一些基本的概念:

1.數(shù)據(jù)集:即數(shù)據(jù)的集合漏隐,數(shù)據(jù)集中的每個數(shù)據(jù)稱為該數(shù)據(jù)集的元素喧半。

2.數(shù)據(jù)類型(模式):根據(jù)分類方式的不同,可將數(shù)據(jù)分為不同的類型青责。如數(shù)值型變量薯酝、邏輯型變量、字符型變量:


圖1 ?數(shù)值型變量(numeric爽柒,不加引號的數(shù)字)



圖2 ?邏輯型變量(logical吴菠,不加引號的TRUE或者FALSE)


圖3 ?字符型變量(character,加引號的各類數(shù)據(jù))


注:函數(shù)class()查看對象的數(shù)據(jù)結構

5種數(shù)據(jù)結構

接下來浩村,我們就來學習一下數(shù)據(jù)結構做葵。數(shù)據(jù)結構就是數(shù)據(jù)的排列方式。R中主要有5種數(shù)據(jù)結構——向量心墅、矩陣酿矢、數(shù)組榨乎、數(shù)據(jù)框、列表瘫筐。

圖4 ?R的5種數(shù)據(jù)結構


概念:

1.向量(vector)蜜暑、矩陣(matrix)、數(shù)組(array)可以放到一起理解策肝,就是同一類型的數(shù)據(jù)(數(shù)值型肛捍、邏輯型、字符型)排列成一維之众、二維拙毫、三維的形式。

2.數(shù)據(jù)框(dataframe)和矩陣一樣也是二維結構棺禾,區(qū)別在于數(shù)據(jù)框各列的數(shù)據(jù)類型可以不同缀蹄,但同一列的數(shù)據(jù)類型必須一致。

3.列表(list)就更加包容了膘婶,它能存放向量缺前、矩陣、數(shù)組悬襟、數(shù)據(jù)框甚至其他列表衅码。

創(chuàng)建與提取

通常情況下我們是將外部數(shù)據(jù)導入R進行處理和分析,很少直接在R中鍵入數(shù)據(jù)古胆,所以創(chuàng)建不同數(shù)據(jù)結構的方法了解即可肆良,從不同數(shù)據(jù)結構中提取元素的方法才是重點筛璧。

1. 向量的創(chuàng)建與提纫菀铩:

使用函數(shù)c(data)創(chuàng)建向量。

使用[ N ](中括號?+?數(shù)字)提取向量的第N個元素夭谤。

圖5 ?向量的創(chuàng)建與提取


2. 矩陣的創(chuàng)建與提取

使用函數(shù)matrix(data=vector,??nrow = 1,??ncol = 1,??byrow = FALSE,?dimnames = NULL)創(chuàng)建矩陣:data是用來創(chuàng)建矩陣的數(shù)據(jù)棺牧;nrow、ncol分別指定行數(shù)朗儒、列數(shù)颊乘,默認為1;byrow表示是否按行填充醉锄,默認為FALSE乏悄;dimnames給行列命名,默認為空值NULL恳不。

使用[ i?,?j?](中括號?+?行檩小、列數(shù))提取矩陣的第i行第j列元素,也可用?[行名烟勋,列名]?來提取相應的元素规求。

圖6 ?矩陣的創(chuàng)建與提取


3. 數(shù)組的創(chuàng)建與提取

使用函數(shù)array(data =?vector, dim =?c(dim1,dim2, dim3),?dimnames = NULL)創(chuàng)建數(shù)組:data是用來創(chuàng)建數(shù)組的數(shù)據(jù)筐付;dim指定各維度的長度;dimnames給各維度命名阻肿,默認為空NULL瓦戚。

可以用使用[ x , y , z ](中括號?+?各維度下標)或者?[各維度名稱]來提取相應的元素。

圖7 ?數(shù)組的創(chuàng)建與提取


4.數(shù)據(jù)框的創(chuàng)建與提取

使用函數(shù)data.frame(col1 , col2 , col3 ,?…)創(chuàng)建數(shù)據(jù)框:col1丛塌、col2较解、col3分別表示數(shù)據(jù)框的第1、2姨伤、3列(注意:各列的長度要相等)哨坪。創(chuàng)建時可以直接給每一列指定列名(如圖8中紅色框),添加參數(shù)row.names可以指定行名(如圖8中黃色框)


圖8 ?數(shù)據(jù)框的創(chuàng)建


與矩陣一樣乍楚,可以使用[ i?,?j?](中括號?+?行当编、列數(shù))提取數(shù)據(jù)框的第i行第j列元素,也可用?[行名徒溪,列名]?來提取相應的元素忿偷。此外,還可使用美元符號?$列名 提取數(shù)據(jù)框中某一列的數(shù)據(jù)臊泌。


圖9?數(shù)據(jù)框的提取


5.列表的創(chuàng)建與提取

使用函數(shù)list(object1 , object2 , object3 ,?…)創(chuàng)建數(shù)據(jù)框:object1鲤桥、object2、object3分別表示要放進列表里的對象(可以是任一數(shù)據(jù)結構)渠概。創(chuàng)建時可以直接給每一對象命名(如圖10中紅色框)茶凳。


圖10 ?列表的創(chuàng)建


列表的提取:[ N ]表示提取列表的第N個對象播揪,也可使用 ?[對象名稱]?或美元符號?$對象名稱 來提取相應的對象贮喧。


圖11?列表的提取


需要注意的是使用單個中括號提取出來的對象其數(shù)據(jù)結構仍然是列表,使用雙中括號提取出來的對象才具有是對象本來的數(shù)據(jù)結構猪狈。


圖12 ?單箱沦、雙中括號提取列表元素的區(qū)別


今天的分享就到這里啦,快去在R中實操一下吧~我們下期再見雇庙!


本文首發(fā)于“生信大碗”公眾號谓形,轉載請注明出處

—END—

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市疆前,隨后出現(xiàn)的幾起案子寒跳,更是在濱河造成了極大的恐慌,老刑警劉巖竹椒,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件童太,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機康愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門箍邮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來净神,“玉大人,你說我怎么就攤上這事∮币剑” “怎么了晌缘?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵纠永,是天一觀的道長领跛。 經常有香客問我,道長叔收,這世上最難降的妖魔是什么齿穗? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮饺律,結果婚禮上窃页,老公的妹妹穿的比我還像新娘。我一直安慰自己复濒,他們只是感情好脖卖,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巧颈,像睡著了一般畦木。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砸泛,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天十籍,我揣著相機與錄音,去河邊找鬼唇礁。 笑死勾栗,一個胖子當著我的面吹牛,可吹牛的內容都是我干的垒迂。 我是一名探鬼主播械姻,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼妒蛇,長吁一口氣:“原來是場噩夢啊……” “哼机断!你這毒婦竟也來了?” 一聲冷哼從身側響起绣夺,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤吏奸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后陶耍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奋蔚,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泊碑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤按。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖馒过,靈堂內的尸體忽然破棺而出臭脓,到底是詐尸還是另有隱情,我是刑警寧澤腹忽,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布来累,位于F島的核電站,受9級特大地震影響窘奏,放射性物質發(fā)生泄漏嘹锁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一着裹、第九天 我趴在偏房一處隱蔽的房頂上張望领猾。 院中可真熱鬧,春花似錦骇扇、人聲如沸瘤运。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拯坟。三九已至,卻和暖如春韭山,著一層夾襖步出監(jiān)牢的瞬間郁季,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工钱磅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梦裂,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓盖淡,卻偏偏與公主長得像年柠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子褪迟,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容