Tidyverse

The tidyverse is a set of packages that work in harmony because they share common data representations and API design. The tidyverse package is designed to make it easy to install and load core packages from the tidyverse in a single command.

一整套數(shù)據(jù)處理的方法包-----包含下面的包:

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

處理數(shù)據(jù)流程:

  1. 數(shù)據(jù)導(dǎo)入
  2. 數(shù)據(jù)整理
  3. 數(shù)據(jù)探索(可視化董济,統(tǒng)計(jì)分析)

If you’d like to learn how to use the tidyverse effectively, the best place to start is R for data science.

安裝

# Install from CRAN
install.packages("tidyverse")

# Or the development version from GitHub
# install.packages("devtools")
devtools::install_github("tidyverse/tidyverse")

使用

library(tidyverse)will load the core tidyverse packages:

  • ggplot2, for data visualisation.
  • dplyr, for data manipulation.
  • tidyr, for data tidying.
  • readr, for data import.
  • purrr, for functional programming.
  • tibble, for tibbles, a modern re-imagining of data frames.
  • stringr, for strings.
  • forcats, for factors.
library(tidyverse)
#載入數(shù)據(jù)
library(datasets)
install.packages("gapminder")
library(gapminder)
attach(iris)
#數(shù)據(jù)過濾dplyr
#filter()函數(shù)可以用來取數(shù)據(jù)子集虏肾。
iris %>% 
  filter(Species == "virginica") # 指定滿足的行
iris %>% 
  filter(Species == "virginica", Sepal.Length > 6) # 多個(gè)條件用,分隔
#排序
# arrange()函數(shù)用來對(duì)觀察值排序欢搜,默認(rèn)是升序。
iris %>% 
  arrange(Sepal.Length)
iris %>% 
  arrange(desc(Sepal.Length)) # 降序
# 新增變量
# mutate()可以更新或者新增數(shù)據(jù)框一列吹埠。
iris %>% 
  mutate(Sepal.Length = Sepal.Length * 10) # 將該列數(shù)值變成以mm為單位
iris %>% 
  mutate(SLMn = Sepal.Length * 10) # 創(chuàng)建新的一列
# 整合函數(shù)流:
iris %>% 
  filter(Species == "Virginica") %>% 
  mutate(SLMm = Sepal.Length) %>% 
  arrange(desc(SLMm))
## [1] Sepal.Length Sepal.Width  Petal.Length Petal.Width  Species     
## [6] SLMm        
## <0 行> (或0-長(zhǎng)度的row.names)
# 匯總
# summarize()函數(shù)可以讓我們將很多變量匯總為單個(gè)的數(shù)據(jù)點(diǎn)疮装。
iris %>% 
  summarize(medianSL = median(Sepal.Length))
##   medianSL
## 1      5.8
iris %>% 
  filter(Species == "virginica") %>% 
  summarize(medianSL=median(Sepal.Length))
# 一次性匯總多個(gè)變量
iris %>% 
  filter(Species == "virginica") %>% 
  summarize(medianSL = median(Sepal.Length),
            maxSL = max(Sepal.Length))
# group_by()可以讓我們安裝指定的組別進(jìn)行匯總數(shù)據(jù)廓推,而不是針對(duì)整個(gè)數(shù)據(jù)框
iris %>% 
  group_by(Species) %>% 
  summarize(medianSL = median(Sepal.Length),
            maxSL = max(Sepal.Length))
iris %>% 
  filter(Sepal.Length>6) %>% 
  group_by(Species) %>% 
  summarize(medianPL = median(Petal.Length), 
            maxPL = max(Petal.Length))
# ggplot2
# 散點(diǎn)圖
# 散點(diǎn)圖可以幫助我們理解兩個(gè)變量的數(shù)據(jù)關(guān)系,使用geom_point()可以繪制散點(diǎn)圖:
iris_small <- iris %>% 
  filter(Sepal.Length > 5)

ggplot(iris_small, aes(x = Petal.Length,
                       y = Petal.Width)) + 
  geom_point()
# 顏色
ggplot(iris_small, aes(x = Petal.Length,
                       y = Petal.Width,
                       color = Species)) + 
  geom_point()
# 大小
ggplot(iris_small, aes(x = Petal.Length,
                       y = Petal.Width,
                       color = Species,
                       size = Sepal.Length)) + 
  geom_point()
# 分面
ggplot(iris_small, aes(x = Petal.Length,
                       y = Petal.Width)) + 
  geom_point() + 
  facet_wrap(~Species)
#線圖
by_year <- gapminder %>% 
  group_by(year) %>% 
  summarize(medianGdpPerCap = median(gdpPercap))

ggplot(by_year, aes(x = year,
                    y = medianGdpPerCap)) +
  geom_line() + 
  expand_limits(y=0)
# 條形圖
by_species <- iris %>%  
  filter(Sepal.Length > 6) %>% 
  group_by(Species) %>% 
  summarize(medianPL=median(Petal.Length))

ggplot(by_species, aes(x = Species, y=medianPL)) + 
  geom_col()
# 直方圖
ggplot(iris_small, aes(x = Petal.Length)) + 
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
# 箱線圖
ggplot(iris_small, aes(x=Species, y=Sepal.Length)) + 
  geom_boxplot()

參考文章:
http://www.reibang.com/p/f3c21a5ad10a
https://tidyverse.tidyverse.org/
https://zhuanlan.zhihu.com/p/88947457

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末堆生,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雷酪,更是在濱河造成了極大的恐慌,老刑警劉巖糯景,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件省骂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡怠惶,警方通過查閱死者的電腦和手機(jī)轧粟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來通惫,“玉大人混蔼,你說我怎么就攤上這事〔严” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵晚吞,是天一觀的道長(zhǎng)延旧。 經(jīng)常有香客問我,道長(zhǎng)槽地,這世上最難降的妖魔是什么迁沫? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮捌蚊,結(jié)果婚禮上集畅,老公的妹妹穿的比我還像新娘。我一直安慰自己逢勾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布藐吮。 她就那樣靜靜地躺著逃贝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迫摔。 梳的紋絲不亂的頭發(fā)上沐扳,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音句占,去河邊找鬼沪摄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纱烘,可吹牛的內(nèi)容都是我干的杨拐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼擂啥,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼哄陶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哺壶,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤屋吨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后山宾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體至扰,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年资锰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了敢课。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡台妆,死狀恐怖翎猛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情接剩,我是刑警寧澤切厘,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站懊缺,受9級(jí)特大地震影響疫稿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹃两,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一遗座、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俊扳,春花似錦途蒋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)懊烤。三九已至,卻和暖如春宽堆,著一層夾襖步出監(jiān)牢的瞬間腌紧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工畜隶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壁肋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓籽慢,卻偏偏與公主長(zhǎng)得像浸遗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嗡综,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • 很多人推薦《R語言實(shí)戰(zhàn)》這本書來入門R,當(dāng)然盼樟,這本書非常不錯(cuò)氢卡,我也是通過這本書開始接觸的R。這種入門的學(xué)習(xí)路徑屬于...
    亮亮就是亮閱讀 3,722評(píng)論 1 27
  • R4DS[https://r4ds.had.co.nz/]:在線電子書用于學(xué)習(xí)tidyverse的用法 數(shù)據(jù)科學(xué)處...
    wo_monic閱讀 1,458評(píng)論 0 8
  • tidyverse是進(jìn)行數(shù)據(jù)科學(xué)的R包晨缴,是為數(shù)據(jù)科學(xué)設(shè)計(jì)的R軟件包的集合译秦。 所有軟件包都共享基本的設(shè)計(jì)理念,語法和...
    DumplingLucky閱讀 4,456評(píng)論 2 6
  • tidyverse包是對(duì)一些具有相同思想击碗,且可以一同工作的R包的收集筑悴。載入tidyverse包的時(shí)候提醒哪些包是一...
    LeoinUSA閱讀 7,628評(píng)論 0 4
  • Tidyverse是一系列優(yōu)秀R包的合集,其中最常用的7個(gè)package包括ggplot2/tibble/tidy...
    生信小白2018閱讀 1,519評(píng)論 0 1