您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何用R語言繪制密度圖的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何用R語言繪制密度圖文章都會有所收獲,下面我們一起來看看吧。
密度圖是直方圖的平滑版本,用于計算并繪制數據的核密度估計,能夠更好的界定分布的形狀。使用geom_density函數可以繪制密度圖。
繪制密度圖
使用數據如下:
set.seed(1234) df <- data.frame( sex=factor(rep(c("F", "M"), each=200)), weight=round(c(rnorm(200, mean=55, sd=5), rnorm(200, mean=65, sd=5))) ) head(df) sex weight 1 F 49 2 F 56 3 F 60 4 F 43 5 F 57 6 F 58
繪制基礎密度圖:
library(ggplot2) # Basic density p <- ggplot(df, aes(x=weight)) + geom_density() p # Add mean line p+ geom_vline(aes(xintercept=mean(weight)), color="blue", linetype="dashed", size=1)
更改線型和顏色:
# 更改線的顏色和填充 ggplot(df, aes(x=weight))+ geom_density(color="darkblue", fill="lightblue") # 更改線型 ggplot(df, aes(x=weight))+ geom_density(linetype="dashed")
繪制分組密度圖
計算每組平均數:
library(plyr) mu <- ddply(df, "sex", summarise, grp.mean=mean(weight)) head(mu) sex grp.mean 1 F 54.70 2 M 65.36
繪制分組密度圖:
# 更改密度圖線的顏色
# 更改密度圖線的顏色 ggplot(df, aes(x=weight, color=sex)) + geom_density() # 添加平均數線 p<-ggplot(df, aes(x=weight, color=sex)) + geom_density()+ geom_vline(data=mu, aes(xintercept=grp.mean, color=sex), linetype="dashed") p
也可以使用以下功能手動更改密度打印線顏色:
?scale_color_manual():使用自定義顏色
?scale_color_brewer():使用RColorBrewer包中的調色板
?scale_color_grey():使用灰階顏色
# 使用自定義顏色 p+scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9")) # 使用RColorBrewer包中的調色板 p+scale_color_brewer(palette="Dark2") # 使用灰階顏色 p + scale_color_grey() + theme_classic()
更改填充顏色:
# 按組更改密度圖顏色 ggplot(df, aes(x=weight, fill=sex)) + geom_density() # 使用半透明填充 p<-ggplot(df, aes(x=weight, fill=sex)) + geom_density(alpha=0.4) p # 添加平均數線 p+geom_vline(data=mu, aes(xintercept=grp.mean, color=sex), linetype="dashed")
也可以使用以下功能手動更改密度圖填充顏色:
?scale_fill_manual():使用自定義顏色
?scale_fill_brewer():使用RColorBrewer包中的調色板
?scale_fill_grey():使用灰階顏色
# 使用自定義顏色 p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9")) # 使用RColorBrewer包中的調色板 p+scale_fill_brewer(palette="Dark2") # 使用灰階顏色 p + scale_fill_grey() + theme_classic()
關于“如何用R語言繪制密度圖”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“如何用R語言繪制密度圖”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。