- R語(yǔ)言數(shù)據(jù)可視化之美:專(zhuān)業(yè)圖表繪制指南
- 張杰
- 665字
- 2019-09-20 14:52:52
第2章 R語(yǔ)言數(shù)據(jù)處理基礎(chǔ)
在R中有許多用于數(shù)據(jù)框基本操作的內(nèi)置函數(shù),比如transform()、rbind()、cbind()等函數(shù),都是基于base包的。base包是安裝R時(shí)會(huì)自帶的包,無(wú)須加載包就可以直接使用。除此之外,還有如下幾種常用的數(shù)據(jù)處理的包。
(1)dplyr包:dplyr包是Hadley Wickham(ggplot2包的作者,被稱(chēng)作“一個(gè)改變R的人”)的杰作,并自稱(chēng)a grammar of data manipulation,他將原本plyr包中的ddply()等函數(shù)進(jìn)一步分離強(qiáng)化,專(zhuān)注接受dataframe對(duì)象,大幅提高了速度,并且提供了更穩(wěn)健地與其他數(shù)據(jù)庫(kù)對(duì)象間的接口。該包常用的函數(shù)包括:變量篩選函數(shù)select()、記錄篩選函數(shù)filter()、排序函數(shù)arrange()、變形(計(jì)算)函數(shù)mutate()、匯總函數(shù)summarize()、分組函數(shù)group_by()、隨機(jī)抽樣函數(shù)sample_n()和sample_frac(),以及多步操作連接符%>%等。
(2)tidyr包:在具體應(yīng)用中,tidyr包經(jīng)常與dplyr包共同使用,目前漸有取代reshape2包之勢(shì),是值得關(guān)注的一個(gè)R包。在tidyr包中,有4個(gè)常用的函數(shù),分別是:gather()函數(shù)用于將寬數(shù)據(jù)轉(zhuǎn)換為長(zhǎng)數(shù)據(jù);spread()函數(shù)用于將長(zhǎng)數(shù)據(jù)轉(zhuǎn)換為寬數(shù)據(jù);unite()函數(shù)用于將多列合并為一列;separate()函數(shù)用于將一列分離為多列。
(3)reshape2包:reshape2包是由Hadley Wickham開(kāi)發(fā)的用于數(shù)據(jù)重構(gòu)的包,主要功能函數(shù)為melt()、cast(),其實(shí)現(xiàn)了長(zhǎng)數(shù)據(jù)和寬數(shù)據(jù)之間的轉(zhuǎn)換,包中還包含add_margin()等其他函數(shù)和french_fries(三種不同的油對(duì)薯?xiàng)l口感的影響)等數(shù)據(jù)集。
(4)tidyverse包:tidyverse是由Hadley Wickham于2017年創(chuàng)建的R包的集合,它“分享整潔數(shù)據(jù)的基礎(chǔ)設(shè)計(jì)理念、語(yǔ)法和數(shù)據(jù)結(jié)構(gòu)”。核心軟件包是ggplot2、dplyr、tidyr、readr、purrr、tibble、stringr和forcats,它們提供了建模、轉(zhuǎn)換和可視化數(shù)據(jù)的功能。更多內(nèi)容可以見(jiàn)他出版的新書(shū)R for Data Science。其中,readr包用于讀取數(shù)據(jù),tidyr包用于整理數(shù)據(jù),dplyr包用于數(shù)據(jù)轉(zhuǎn)換,ggplot2包用于數(shù)據(jù)可視化,purrr包用于函數(shù)式編程。大家如對(duì)此有興趣,可以更加深入地學(xué)習(xí)。
- 大話(huà)PLC(輕松動(dòng)漫版)
- 多媒體CAI課件設(shè)計(jì)與制作導(dǎo)論(第二版)
- 深入理解Android(卷I)
- 自己動(dòng)手實(shí)現(xiàn)Lua:虛擬機(jī)、編譯器和標(biāo)準(zhǔn)庫(kù)
- Software Testing using Visual Studio 2012
- Practical Windows Forensics
- 你不知道的JavaScript(中卷)
- iOS編程基礎(chǔ):Swift、Xcode和Cocoa入門(mén)指南
- C++新經(jīng)典
- SQL Server與JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)
- Tableau 10 Bootcamp
- Domain-Driven Design in PHP
- FPGA嵌入式項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)
- 官方 Scratch 3.0 編程趣味卡:讓孩子們愛(ài)上編程(全彩)
- Puppet:Mastering Infrastructure Automation