R语言ggplot包之数据分布汇总
2015-07-20 22:19
603 查看
引言
我们经常想观察一批数据的分布形态,直方图、密度图、箱线图、小提琴图和点图等都是很好的实现形式。在此,我们简略介绍直方图、密度图和箱线图,这种三种图形对我们来说更为常用。直方图
很多人没搞清楚条形图和直方图之间的区别。条形图主要用于展示分类数据,即名义数据,各组分开而立。而直方图多用于展示数值型数据,各组相依。单组直方图
最基本的语句就是在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 <- birthwt birthwt1$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")
相关文章推荐
- SOLARIS 10/11的网络配置
- 面试问题总结
- AsyncHttpClient介绍
- C#高级编程----小结
- 最强密码 (百度之星复赛 T5)
- 遍历搜索空间的例子:熄灯问题
- x-code的使用技巧心得
- 杭电1005Number Sequence
- Linux、xshell等中文乱码问题
- MVC传递数据-传递对象或对象集合
- Linux自学笔记:在虚拟机上安装Linux操作系统
- 陈嘉 2015/07/16 个人文档
- ping工具的C语言简单实现 (ICMP echo)
- PhpStorm8 + Vagrant +XDebug 配置
- 窜梁鸿于海曲
- LeetCode(24) Swap Nodes in Pairs
- Ruby String(2)
- Apache Web Server -> httpd 的文档根目录 及 访问控制
- Dynamic Programming - Part1
- UVA Foreign Exchange