繼續(xù)學(xué)R颇蜡!
- 1.前言
- 2.安裝tidyr
- 3.數(shù)據(jù)框小常識(shí)
- 4.認(rèn)識(shí)tidyr
- 5.reshape data
- 6.Handle Missing Values
- 7.Expand Tables
-
8.split cells(選修)
第12期Day6
1.前言
R包都有自己的說(shuō)明書(shū)(cheatsheet)为牍。
2.安裝tidyr
(1)獲取一個(gè)R包的小抄
公眾號(hào)回復(fù)最偷懶了,不過(guò)不夠優(yōu)秀严嗜。。洲敢。
(2)初步了解tidyr
①數(shù)據(jù)框的變形
②處理數(shù)據(jù)框中的空值
③根據(jù)一個(gè)表格衍生出其他表格
④實(shí)現(xiàn)行或列的分割和合并
把要用的數(shù)據(jù)處理成標(biāo)準(zhǔn)而統(tǒng)一的數(shù)據(jù)框(Tidy Data漫玄,下面有解釋),才能進(jìn)行進(jìn)一步的數(shù)據(jù)處理和作圖
(3)極簡(jiǎn)安裝
①打開(kāi)RStudio,設(shè)置好工作環(huán)境睦优,輸入library(tidyr)渗常,沒(méi)有就報(bào)錯(cuò)。
②下載安裝tidyr。
命令是 install.packages("tidyr")
- 下載很慢隐孽,只要控制臺(tái)不出現(xiàn)>尸执,就一直等著
事實(shí)證明,確實(shí)比較慢
運(yùn)行一下看看缓醋,library(tidyr)
3.數(shù)據(jù)框
(1)新建數(shù)據(jù)框
這里直接把新建的數(shù)據(jù)框賦值給了a
新建一個(gè)數(shù)據(jù)框并賦值給bioplanet這個(gè)變量(賦值符號(hào)<-還記得嘛)括號(hào)里是“列名”=列值如失,這里列名要加雙引號(hào)。這里涉及的幾個(gè)給列填充數(shù)值的函數(shù)有
rep送粱,重復(fù)褪贵,括號(hào)中填要重復(fù)的字符和重復(fù)次數(shù)。
paste抗俄,連接兩個(gè)字符串脆丁,括號(hào)要填兩個(gè)代連接字符并指定分隔符(sep),沒(méi)有分隔符就填sep=“”动雹。
1:3表示從1到三槽卫。如需一列中需要填入三個(gè)無(wú)規(guī)律的數(shù)字,可以用向量c(1胰蝠,3歼培,4),同樣如果填的是字符串也需要加雙引號(hào)茸塞,例如c("doudou","huahua","xiaoyu")躲庄。
2.了解概念:key-value--“鍵值對(duì)” ,表示一種對(duì)應(yīng)關(guān)系钾虐≡刖剑“鍵”和“值”都是列名,如SampleName和Expression的對(duì)應(yīng)效扫。
3.函數(shù)后面一般都要加括號(hào)倔监,括號(hào)里第一個(gè)參數(shù)是都數(shù)據(jù)框名
4.字符串要加雙引號(hào)(行名和列名也是字符串,但是可以不用加)菌仁,其他單元格(姑且這么叫了)里出現(xiàn)的字符串要加浩习。
行 raw
列 column,簡(jiǎn)化寫(xiě)法為col ——生信星球
以上慢慢理解吧掘托。
4.認(rèn)識(shí)tidyr
這是一種組織表格數(shù)據(jù)的方式,提供了一種能夠跨包使用的“統(tǒng)一”的數(shù)據(jù)格式闪盔。
什么叫“統(tǒng)一”弯院?
每個(gè)變量(variable)占一列,每個(gè)情況(case泪掀,姑且這么翻譯)和觀測(cè)值(observation)占一行听绳。
舉個(gè)栗子——生信星球
5.reshape data
gather:我就是剛才的魔法棒
spread:我能讓tidy data一夜回到解放前。
在這里如何復(fù)制上圖中的數(shù)據(jù)异赫?(比較特殊的一點(diǎn)是列名是數(shù)字椅挣,這個(gè)還沒(méi)碰見(jiàn)過(guò),因此對(duì)它這個(gè)列名動(dòng)了一點(diǎn)手腳塔拳,不管給他們加雙引號(hào)鼠证、單引號(hào)還是反引號(hào)(英文模式下的1前面那個(gè)鍵),都沒(méi)有報(bào)錯(cuò)靠抑!但是不加引號(hào)是不行滴量九。
gather括號(hào)里的分別是:
數(shù)據(jù)框名,需合并的列名(兩個(gè))颂碧,合并后的key列名荠列,value列名。
其中载城,需合并的列名也可以列在最后(其實(shí)個(gè)順序才是默認(rèn)的)肌似,key=和value=也可以省略(我愛(ài)偷懶),如果按照上面小抄的命令括號(hào)里那個(gè)順序诉瓦,省略了就會(huì)報(bào)錯(cuò)川队。
6.Handle Missing Values
處理丟失的數(shù)據(jù)睬澡。就是某些單元格有空值的情況呼寸。
三種處理方式:
(1).drop。刪除整行猴贰。
(2).fill对雪。根據(jù)上下文(瞎)蒙一個(gè)。
(3).replace米绕。同一列的空值填上同一個(gè)數(shù)瑟捣。
7.Expand Tables
①complete
②expand
(列出每列值所有可能的組合--根據(jù)下面的示例來(lái)理解這句話)
來(lái)看示例(以前年紀(jì)小不懂事栅干,數(shù)據(jù)框名胡亂取的):
示例數(shù)據(jù)(就是剛才新建出來(lái)的數(shù)據(jù)框a):
8.split cells(選修)
①分割分兩種
把一列拆成兩列。目測(cè)原列必須要有分隔符才行啊好像禁荒。
②合并