《qqplot2: 數(shù)據(jù)分析與圖形藝術(shù)》第3章學習筆記


title: "《qqplot2: 數(shù)據(jù)分析與圖形藝術(shù)》學習筆記2"
author: "wintryheart"
date: "2019年5月11日"
output:
html_document:
toc: TRUE
toc_float: TRUE


knitr::opts_chunk$set(echo = TRUE, warning = FALSE)

注意:本筆記使用的R的版本為3.6.0呜魄。

第3章 語法突破

3.2 耗油量數(shù)據(jù)

ggplot2包中的mpg數(shù)據(jù)集記錄美國1999年和2008年部分汽車耗油量數(shù)據(jù)灼伤。變量包括:

變量名 含義 中文意思
manufacturer 制造商
model model name 型號
displ engine displacement, in litres 發(fā)動機排量
year year of manufacture 制造年份
cyl number of cylinders 汽缸數(shù)
trans type of transmission 傳動類型
drv f = front-wheel drive, r = rear wheel drive, 4 = 4wd 驅(qū)動類型
cty city miles per gallon 城市耗油量
hwy highway miles per gallon 高速耗油量
fl fuel type 燃油類型
class "type" of car 車型
library(ggplot2)
library(gridExtra)
data(mpg)
head(mpg)


也可以調(diào)用其它包,把R數(shù)據(jù)整理成通用表格形式。常用的有stargazer包,knitr包和xtable包财骨。
要調(diào)用其它包改變表格輸出吞琐,首先要設(shè)置knitr的results參數(shù)邻梆,results='asis'拱礁。

results參數(shù)選項 含義 中文意思
hide not display the code’s results 不顯示結(jié)果
hold delay displaying 延遲輸出直至組塊結(jié)束
markup mark up the results 默認值琢锋,裝裱輸出
asis pass through results without reformatting them 原樣輸出
t1 <- mpg[1:6, ]  #只展示前6個樣本辕漂。
stargazer::stargazer(t1, summary=FALSE, type="html",  title = "Table with stargazer") #stargazer輸出的表格太過緊湊呢灶,并不好看。注意stargazer默認輸出summary statistics钉嘹,如果要顯示原始數(shù)據(jù)鸯乃,要把參數(shù)summary設(shè)置為FASLE。

knitr::kable(t1, caption = "Table with kable") #knitr包的kable輸出的是markdown格式的表格

print(xtable::xtable(t1, caption="Table with xtable"), type="html") #xtable包的xtablel輸出的表格也太緊湊。不好看缨睡。

manufacturer model displ year cyl trans drv cty hwy fl class
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
audi a4 2.0 2008 4 auto(av) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5) f 18 26 p compact


3.3散點圖

qplot(displ, hwy, data=mpg, color=factor(cyl))
scatter-1.png

圖形屬性與數(shù)據(jù)的映射

  • 在散點圖中鸟悴,每個觀測數(shù)據(jù)都用一個點來表示,點的位置由兩個變量的值決定奖年。

  • 每個點不僅有橫坐標和縱坐標细诸,還有大小、顏色和形狀陋守。這些屬性稱之為圖形屬性(aesthetics)震贵。

  • 每個圖形屬性都可以映射為一個變量或者設(shè)定成一個常數(shù)。

  • 上圖中水评,變量displ控制點的水平位置猩系,變量hwy控制點的豎直位置,變量cyl控制點的顏色中燥。

  • 而點的大小和形狀都沒有指定映射的變量寇甸,使用的默認值(常數(shù))。

幾何對象

  • 點(points)疗涉、線(lines)和條(bars)都是幾何對象(geom)的具體形式拿霉。
  • 幾何對象決定了圖形的類型(type)。
  • 復雜的圖形可以有由多種幾何對象組成博敬。

標度變換

  • 把數(shù)據(jù)單位(如升友浸、加侖和汽缸數(shù))轉(zhuǎn)換成電腦可以識別的物理單位(如像素和顏色)的轉(zhuǎn)換過程,稱之為標度變換(scaling)偏窝。

  • 轉(zhuǎn)換后的數(shù)據(jù)對我們而言可能沒有意義收恢,但對電腦而言卻是可識別的:

    • 顏色用6個字母組成的十六進制字符表示,如#FF6C91祭往。
    • 大小和形狀分別用數(shù)字和整數(shù)來表示伦意。
  • 上圖中,我們有三個圖形屬性需要進行標度變換:水平位置(x)硼补、豎直位置(y)和顏色驮肉。

  • 如何根據(jù)點的位置(x和y)來確定它在圖中的位置,由坐標系統(tǒng)(Coord)決定已骇。大多數(shù)情況离钝,使用笛卡爾坐標系,但有時也會用極坐標系或球投影褪储。

  • 顏色變換是將數(shù)據(jù)的值映射到一個由三原色組成的三維的顏色空間中卵渴。

  • 最后對這些數(shù)據(jù)渲染,生成上展示的圖形對象鲤竹。

綜上浪读,繪制一個完整的圖形,我們需要組合三類圖形對象:

  • 數(shù)據(jù), 由點來表示碘橘;
  • 標度和坐標系互订, 用來生成坐標軸和圖例;
  • 圖形注釋痘拆, 如背景和標題仰禽。

3.4 更復雜的圖形示例

  • 三種新的組件:分面、多個圖層和統(tǒng)計量纺蛆。
  • 每個圖層的每個分面面板(facet panel)都含一個小數(shù)據(jù)集坟瓢。
  • 平滑曲線層展示了統(tǒng)計變換后的數(shù)據(jù)。
qplot(displ, hwy, data = mpg, facets = .~year) + geom_smooth()
facet-1.png

3.5 圖層語法的組件

圖層語法所定義的圖由以下幾部分組成:

  • 一個默認的數(shù)據(jù)庥和一組從變量到圖形屬性的映射犹撒;
  • 一個或多個圖層折联,每個都由一種幾何對象、一種統(tǒng)計變換和一種位置調(diào)整組成识颊;
  • 標度诚镰,每個圖形屬性映射都對應一個標度;
  • 一個坐標系統(tǒng)祥款;
  • 分面設(shè)定清笨。

3.6 數(shù)據(jù)結(jié)構(gòu)

  • 一個圖形對象就是一個包含數(shù)據(jù)映射刃跛、圖層抠艾、標度坐標分面的列表桨昙。
  • 圖形對象還有一個組件:options检号,專門用來存儲特定的圖形主題選項。
  • 繪圖有兩種方式:
    • “一步到位”式蛙酪,qplot()齐苛;
    • “逐層疊加”式,ggplot()+圖層函數(shù)

當我們得到一個圖形對象時桂塞,可以進行如下處理:

  • print()將其呈現(xiàn)在屏幕上凹蜂。交互式操作時,print()會自動被調(diào)用阁危,但在循環(huán)和函數(shù)里玛痊,需要手動輸入print();
  • ggsave()保存到磁盤狂打;
  • summary()查看它的結(jié)構(gòu)擂煞;
  • save()保存緩存副本到磁盤;可以用load()調(diào)用重現(xiàn)圖形菱父。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颈娜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子浙宜,更是在濱河造成了極大的恐慌官辽,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粟瞬,死亡現(xiàn)場離奇詭異同仆,居然都是意外死亡,警方通過查閱死者的電腦和手機裙品,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門俗批,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人市怎,你說我怎么就攤上這事岁忘。” “怎么了区匠?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵干像,是天一觀的道長。 經(jīng)常有香客問我驰弄,道長麻汰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任戚篙,我火速辦了婚禮五鲫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岔擂。我一直安慰自己位喂,他們只是感情好,可當我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布乱灵。 她就那樣靜靜地躺著忆某,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阔蛉。 梳的紋絲不亂的頭發(fā)上弃舒,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天,我揣著相機與錄音状原,去河邊找鬼聋呢。 笑死,一個胖子當著我的面吹牛颠区,可吹牛的內(nèi)容都是我干的削锰。 我是一名探鬼主播,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼毕莱,長吁一口氣:“原來是場噩夢啊……” “哼器贩!你這毒婦竟也來了颅夺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤蛹稍,失蹤者是張志新(化名)和其女友劉穎吧黄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唆姐,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡拗慨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奉芦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赵抢。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖声功,靈堂內(nèi)的尸體忽然破棺而出烦却,到底是詐尸還是另有隱情,我是刑警寧澤先巴,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布短绸,位于F島的核電站,受9級特大地震影響筹裕,放射性物質(zhì)發(fā)生泄漏醋闭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一朝卒、第九天 我趴在偏房一處隱蔽的房頂上張望证逻。 院中可真熱鬧,春花似錦抗斤、人聲如沸囚企。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽龙宏。三九已至,卻和暖如春伤疙,著一層夾襖步出監(jiān)牢的瞬間银酗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工徒像, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留黍特,地道東北人。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓锯蛀,卻偏偏與公主長得像灭衷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旁涤,可洞房花燭夜當晚...
    茶點故事閱讀 45,995評論 2 361

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