午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

R語言ggplot包之?dāng)?shù)據(jù)分布匯總

 心隨所愿zh 2018-08-16

引言

我們經(jīng)常想觀察一批數(shù)據(jù)的分布形態(tài),直方圖、密度圖、箱線圖、小提琴圖和點(diǎn)圖等都是很好的實(shí)現(xiàn)形式。在此,我們簡略介紹直方圖、密度圖和箱線圖,這種三種圖形對我們來說更為常用。

直方圖

很多人沒搞清楚條形圖和直方圖之間的區(qū)別。條形圖主要用于展示分類數(shù)據(jù),即名義數(shù)據(jù),各組分開而立。而直方圖多用于展示數(shù)值型數(shù)據(jù),各組相依。

單組直方圖

最基本的語句就是在ggplot語句后再加geom_histogram()即可。

library(gcookbook)
library(ggplot2)
ggplot(faithful, aes(x=waiting)) + geom_histogram()
  • 1
  • 2
  • 3

這里寫圖片描述
直方圖默認(rèn)最大為30組,我們可以使用*binwidth來改變。

ggplot(faithful, aes(x=waiting)) +geom_histogram(binwidth=8, fill="white", colour="black")#改為8組
  • 1

這里寫圖片描述

分組直方圖

分組直方圖做法與其他圖形一樣,我們用到facet_grid(var ~ .),該方法是以var變量進(jìn)行分類,做多個圖形,非一個圖形中做多個直方圖。如果變量為數(shù)字,應(yīng)當(dāng)因子化。

library(MASS) #取binwidth數(shù)據(jù)
ggplot(birthwt, aes(x=bwt))+geom_histogram(fill="white", colour="black")+facet_grid(smoke ~ .)
  • 1
  • 2

這里寫圖片描述

核密度曲線

如果你想要做密度曲線,則用geom_density映射一連續(xù)變量。

ggplot(faithful, aes(x=waiting)) + geom_density()
#你也可以將包住的部分給填充顏色
ggplot(faithful, aes(x=waiting)) +
geom_density(fill="blue", alpha=.2) +
xlim(35, 105)
#如果你不喜歡線與下方相連,可以使用另外一種方式
ggplot(faithful, aes(x=waiting)) + geom_line(stat="density") +
expand_limits(y=0)#expand_limits使y軸范圍包含0值。
#密度曲線與直方圖共戲
ggplot(faithful, aes(x=waiting, y=..density..)) +
geom_histogram(fill="cornsilk", colour="grey60", size=.2) +
geom_density() +
xlim(35, 105)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述

分組密度曲線

birthwt1 <- birthwt
birthwt1$smoke <- factor(birthwt1$smoke)
ggplot(birthwt1, aes(x=bwt, fill=smoke)) + geom_density(alpha=.3)
  • 1
  • 2
  • 3

這里寫圖片描述

箱線圖

箱線圖應(yīng)用十分廣泛,特別是在比較多組數(shù)據(jù)上。上代碼,看看如何實(shí)用。

ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot()
#如果存在多個多個離群點(diǎn),可用outlier.size 和outlier.shape進(jìn)行大小和形狀設(shè)置
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot(outlier.size=1.5, outlier.shape=21)
#為了看數(shù)據(jù)分布是否有偏,我們還可以增加均值與中值進(jìn)行比較,主要用stat_summary把均值以菱形相展示。
ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot() +
stat_summary(fun.y="mean", geom="point", shape=23, size=3, fill="white")

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多