R語言數(shù)據(jù)科學(xué)第五章:數(shù)據(jù)操作dplyr(上)

超級(jí)好用的dplyr慌盯, 讓你從數(shù)據(jù)小白跨出一大步。

以下內(nèi)容主要來自 R for data science 書第五章內(nèi)容前半部分掂器,主要講幾個(gè)基本命令(filter亚皂、arrangeselect 国瓮、mutate灭必、summarise)的操作狞谱。

1.載入需要的R包

library(tidyverse) #dplyr包已經(jīng)被整合入tidyverse包
library(nycflights13) #載入這個(gè)包主要是用里面的示例數(shù)據(jù)做分析

2.使用命令

  • filter 按照條件過濾數(shù)據(jù)
  • arrange 排序
  • select 按照列名選擇變量。功能強(qiáng)大禁漓,可使用正則表達(dá)式跟衅。
  • mutate 基于現(xiàn)有變量創(chuàng)造新變量
  • summarise 匯總統(tǒng)計(jì)數(shù)據(jù),常和分組命令(groupby)一起使用

3.filter

過濾樣本播歼,可結(jié)合邏輯變量一起使用:

  • & 代表 和
  • | 代表 或
  • ! 代表 非
  • %in% 代表 是否被包含伶跷。 如1 %in% c(1,2)代表1是否包含于 c(1,2)。該命令會(huì)返回True秘狞。
#篩選出1月1號(hào)的航班
filter(flights, month==1, day==1)
#篩選出1月或2月的航班
filter(flights, month==1 | month==2)
#篩選出不在1月或2月的航班
filter(flights, !(month==1 | month==2))

4.arrange

排序叭莫。

  • 可按多個(gè)關(guān)鍵字排序,從前到后由主到次烁试。
  • 默認(rèn)升序雇初,降序需要在排序變量外加desc,如:desc(month)
#按時(shí)間順序由前到后排序
arrange(filter, year, month, day)
#按航班延誤時(shí)間有多到少排序
arrange(flights, desc(arr_delay))

5.select

按變量名選擇子數(shù)據(jù)框

  • 使用可以連續(xù)選取
  • 使用 -可刪除指定變量
  • starts_with(), end_with(), contains()分別代表選取以指定字符開始廓潜、以指定字符結(jié)尾抵皱,包含指定字符的變量名善榛。
  • matches()可使用正則表達(dá)式匹配變量名
#選取變量名以“d”開頭的變量
select(flights, ends_with("d"))
#選取變量名以“time”結(jié)尾的變量
select(flights, ends_with("time"))
#選取變量名中包含“dep”的變量
select(flights, contains("time"))
#使用正則表達(dá)式選取變量名以“d”開頭的變量
select(flights, matches("^d"))

關(guān)于正則表達(dá)式的概念辩蛋,以后會(huì)詳細(xì)講解。

rename()可直接對(duì)變量重命名移盆。如:
rename(flights, mon = month)

6.mutate

增加新的變量悼院。可對(duì)已有變量進(jìn)行數(shù)學(xué)計(jì)算后生成新變量咒循。

# 使用航班到達(dá)時(shí)間減去航班出發(fā)時(shí)間生成航班運(yùn)行時(shí)間變量据途。
mutate(flights, use_time = arr_time - dep_time)

transmute只保留新生成的變量。如:

transmute(flights, use_time = arr_time - dep_time)

7.summaries

獲得變量的匯總統(tǒng)計(jì)結(jié)果(均值叙甸,最大值颖医,最小值,方差等)裆蒸,常和groupby一起使用熔萧,獲得不同分組的匯總統(tǒng)計(jì)結(jié)果

#計(jì)算航班平均延誤時(shí)間
summarise(flights, mean(dep_delay, na.rm=TRUE))
#計(jì)算航班每月的平均延誤時(shí)間
flights %>% group_by(month) %>% summarise( mean(dep_delay, na.rm=TRUE))

這里出現(xiàn)了一個(gè)新的符號(hào)%>%,是dplyr專用的僚祷。我們稱之為管道符佛致,功能類似于shell中的|,作用是講前面的變量傳遞到后面使用辙谜。
這個(gè)功能最大的好處是減少代碼運(yùn)行過程中生成的中間變量俺榆。

na.rm = TRUE 是R中常用的命令,在apply函數(shù)中也經(jīng)常用到装哆。作用是計(jì)算時(shí)不考慮缺失數(shù)據(jù)罐脊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末定嗓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子萍桌,更是在濱河造成了極大的恐慌蜕乡,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梗夸,死亡現(xiàn)場(chǎng)離奇詭異层玲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)反症,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門辛块,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铅碍,你說我怎么就攤上這事润绵。” “怎么了胞谈?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵尘盼,是天一觀的道長。 經(jīng)常有香客問我烦绳,道長卿捎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任径密,我火速辦了婚禮午阵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘享扔。我一直安慰自己底桂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布惧眠。 她就那樣靜靜地躺著籽懦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氛魁。 梳的紋絲不亂的頭發(fā)上暮顺,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音呆盖,去河邊找鬼拖云。 笑死,一個(gè)胖子當(dāng)著我的面吹牛应又,可吹牛的內(nèi)容都是我干的宙项。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼株扛,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尤筐!你這毒婦竟也來了汇荐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤盆繁,失蹤者是張志新(化名)和其女友劉穎掀淘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體油昂,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡革娄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冕碟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拦惋。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖安寺,靈堂內(nèi)的尸體忽然破棺而出厕妖,到底是詐尸還是另有隱情,我是刑警寧澤挑庶,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布言秸,位于F島的核電站,受9級(jí)特大地震影響迎捺,放射性物質(zhì)發(fā)生泄漏举畸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一破加、第九天 我趴在偏房一處隱蔽的房頂上張望俱恶。 院中可真熱鬧,春花似錦范舀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甜刻。三九已至全释,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間臀栈,已是汗流浹背娃圆。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工玫锋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讼呢。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓撩鹿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悦屏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子节沦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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