R語言ggplot包之資料分布匯總_R語言

來源:互聯網
上載者:User
引言

我們經常想觀察一批資料的分布形態,長條圖、密度圖、盒狀圖、小提琴圖和點圖等都是很好的實現形式。在此,我們簡略介紹長條圖、密度圖和盒狀圖,這種三種圖形對我們來說更為常用。 長條圖

很多人沒搞清楚橫條圖和長條圖之間的區別。橫條圖主要用於展示分類資料,即名義資料,各組分開而立。而長條圖多用於展示數值型資料,各組相依。 單組長條圖

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

library(gcookbook)library(ggplot2)ggplot(faithful, aes(x=waiting)) + geom_histogram()


長條圖預設最大為30組,我們可以使用*binwidth來改變。

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

分組長條圖

分組長條圖做法與其他圖形一樣,我們用到facet_grid(var ~ .),該方法是以var變數進行分類,做多個圖形,非一個圖形中做多個長條圖。如果變數為數字,應當因子化。

library(MASS) #取binwidth資料ggplot(birthwt, aes(x=bwt))+geom_histogram(fill="white", colour="black")+facet_grid(smoke ~ .)

核密度曲線

如果你想要做密度曲線,則用geom_density映射一連續變數。

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)




分組密度曲線

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

盒狀圖

盒狀圖應用十分廣泛,特別是在比較多組資料上。上代碼,看看如何實用。

ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot()#如果存在多個多個離群點,可用outlier.size 和outlier.shape進行大小和形狀設定ggplot(birthwt, aes(x=factor(race), y=bwt)) +geom_boxplot(outlier.size=1.5, outlier.shape=21)#為了看資料分布是否有偏,我們還可以增加均值與中值進行比較,主要用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")



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.