DAY6 R包學(xué)習(xí)——tidyr包安裝與 使用

image.png

R包準(zhǔn)備先知

  • R包(又叫小抄)的獲取途徑
    方法1:去百度/谷歌XX小抄
    方法2:找Rstudio的cheatsheet網(wǎng)站(網(wǎng)速好慢的)
  • tidyr介紹
    R包里簡單的衍锚,如下以此為例學(xué)會(huì)安裝和使用。已從公眾號(hào)下載該R包小抄pdf
    功能主要有:
    (1)數(shù)據(jù)框的變形
    (2)處理數(shù)據(jù)框中的空值
    (3)根據(jù)一個(gè)表格衍生出其他表格
    (4)實(shí)現(xiàn)行或列的分割和合并
      這個(gè)包是把你要用的數(shù)據(jù)處理成標(biāo)準(zhǔn)而統(tǒng)一的數(shù)據(jù)框(Tidy Data)
  • 安裝tidyr
  1. 進(jìn)入Rstudio,按上節(jié)設(shè)置好工作目錄
  2. 在控制臺(tái)輸入:library(tidyr),發(fā)現(xiàn)沒有這個(gè)包呢燥,所以會(huì)報(bào)錯(cuò)
  3. 下載和安裝tydir:install.packages("tidyr")
  4. 加載tydir:library(tidyr)
  • 數(shù)據(jù)框的5點(diǎn)小常識(shí)
  1. 以下面命令為例千绪,來看如何解讀
    a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
    • 表達(dá)的意思是:新建數(shù)據(jù)框萎河,這里直接把新建的數(shù)據(jù)框賦值給了a。括號(hào)里是“列名”=列值红伦,這里列名要加雙引號(hào)
    • rep淀衣,重復(fù)昙读,括號(hào)中填要重復(fù)的字符和重復(fù)次數(shù)。paste膨桥,連接兩個(gè)字符串蛮浑,括號(hào)要填兩個(gè)代連接字符并指定分隔符(sep),沒有分隔符就填sep=“”只嚣。
  1. key-valueg可理解為“鍵值對(duì)” 沮稚,表示一種對(duì)應(yīng)關(guān)系。“鍵”和“值”都是列名
  2. 函數(shù)后面一般都要加括號(hào)册舞,括號(hào)里第一個(gè)參數(shù)是都數(shù)據(jù)框名
  3. 字符串要加雙引號(hào)(行名和列名也是字符串壮虫,但是可以不用加),其他單元格里出現(xiàn)的字符串要加
  4. 認(rèn)識(shí)Tidy Data
    圖片引用自生信星球
    “統(tǒng)一”:每個(gè)變量(variable)占一列环础,每個(gè)情況(case)和觀測值(observation)占一行囚似。
    image.png

tidyr包使用(四大點(diǎn))

  • 一.Reshape Data
    用于把數(shù)據(jù)框統(tǒng)一化
    image.png
  1. 輸入
    a<-data.frame(country = c("A","B","C"),"1999" =paste(c(0.7,37,212),"K"),"2000" =paste(c(2,80,213),"K"))(特例:當(dāng)列名是數(shù)字的時(shí)候,比如這里1999是字符變量线得,加雙引號(hào)饶唤、單引號(hào)還是反引號(hào)(英文模式下的1前面那個(gè)鍵)都不報(bào)錯(cuò)!)
  2. 結(jié)果如下
    同時(shí)數(shù)字列名前面加上個(gè)x(大寫的)


    image.png
  3. 如何將上述結(jié)果改為 統(tǒng)一
    使用gather函數(shù):合并函數(shù)贯钩∧伎瘢基本格式是gather(數(shù)據(jù)框名,需合并的列名(兩個(gè))角雷,合并后的key列名祸穷,value列名)
    此案例中gather(a,X1999,X2000,key = "year",value = "cases") 其中key=和value=也可以省略,即 gather(a,X1999,X2000,key = "year",value = "cases")
    結(jié)果圖如下勺三,有warning也沒事
    image.png
  • 二.Handle Missing Value
    處理丟失的數(shù)據(jù)雷滚。就是某些單元格有空值的情況
    image.png
  1. 首先用以下命令獲得圖示數(shù)據(jù)框X
    X<-read.csv('doudou.txt')
    補(bǔ)充csv的導(dǎo)入和導(dǎo)出方式。
    導(dǎo)入:X<-read.csv('doudou.csv')
    導(dǎo)出:write.csv(X,'doudou.csv')
  2. Handle Missing Value有三種處理方式
    • drop_na(數(shù)據(jù)框名吗坚,依據(jù)的列名(即有空值那一列的列名)),表示有空值的祈远,整行刪除掉呆万。此處為drop_na(X,X2)
    • fill(數(shù)據(jù)框名,依據(jù)的列名))车份,表示根據(jù)上一行的數(shù)值填充上谋减,此處為fill(X,X2)
    • replace_na(數(shù)據(jù)框名,要填的列名=要填的值)扫沼,空值填進(jìn)去特定的一個(gè)數(shù)值
      此處為replace_na(X,list(X2=2))
  • 三.Expand Tables

    image.png

  1. complete函數(shù)
    表示把空值的位置補(bǔ)全出爹,此處為
    complete(X,nesting(X1),fill=list(X2=5)),感覺和replace功能相近缎除,只是complete函數(shù)以政,需要把列的信息也考慮進(jìn)來(如此處的nesting(X1))
  2. expand函數(shù)
    意思是列出每列值所有可能的組合
    • 示例先建一個(gè)數(shù)據(jù)框
      pin2<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
      image.png
    • 然后輸入expand(pin2,GeneId,SampleName,Expression)
      image.png
  • 四.split cells
    圖片引用自生信星球
    表示把一列拆成兩列(原列必須要有分隔符)

    image.png

    separate:按列分割
    separate_rows:按行分割
    image.png

    unite:分割完了再合并回去

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市伴找,隨后出現(xiàn)的幾起案子盈蛮,更是在濱河造成了極大的恐慌,老刑警劉巖技矮,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抖誉,死亡現(xiàn)場離奇詭異,居然都是意外死亡衰倦,警方通過查閱死者的電腦和手機(jī)袒炉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樊零,“玉大人我磁,你說我怎么就攤上這事∽そ螅” “怎么了夺艰?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沉衣。 經(jīng)常有香客問我郁副,道長,這世上最難降的妖魔是什么豌习? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任存谎,我火速辦了婚禮,結(jié)果婚禮上肥隆,老公的妹妹穿的比我還像新娘既荚。我一直安慰自己,他們只是感情好栋艳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布恰聘。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪憨琳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天旬昭,我揣著相機(jī)與錄音篙螟,去河邊找鬼。 笑死问拘,一個(gè)胖子當(dāng)著我的面吹牛遍略,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骤坐,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绪杏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纽绍?” 一聲冷哼從身側(cè)響起蕾久,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拌夏,沒想到半個(gè)月后僧著,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡障簿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年盹愚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片站故。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡皆怕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出西篓,到底是詐尸還是另有隱情愈腾,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布岂津,位于F島的核電站顶滩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寸爆。R本人自食惡果不足惜礁鲁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赁豆。 院中可真熱鬧仅醇,春花似錦、人聲如沸魔种。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叶摄,卻和暖如春属韧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛤吓。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工宵喂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人会傲。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓锅棕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親淌山。 傳聞我的和親對(duì)象是個(gè)殘疾皇子裸燎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容