R for Data Science 第1章 ggplot2数据可视化
参考书籍: R for Data Science
书籍链接:https://r4ds.had.co.nz/index.html
参考答案链接:https://jrnold.github.io/r4ds-exercise-solutions/data-visualisation.html
典型数据处理流程
(1)Import:获取存储在文件、数据库、web API中的数据,将其倒入R语言的data frame。
(2)Tidy: 将数据存储为符合符合存储数据集的语义的一致格式。
(3)Transform:转化包括缩小感兴趣的观测范围(如一座城市里的所有人,最后一年的所有数据)、由先存变量的函数创建新的变量(如通过加速度和时间计算速度)和计算一组汇总统计数据(如计数和平均值)。
(4)Visualization:可视化是基础的人类活动。好的可视化能够向你展示意想不到的结果、提出新的问题,还能够帮你发现错误的问题或者你需要手机不同的数据。
(5)Models: 模型是可视化的补充工具,是基本的数学和计算机工具,因此它们通常具有很好的伸缩性。
(6)Communication:数据科学的最后一个步骤,也是任何数据分析计划最重要的部分,你可以跟别人交流你的工作。
注意:
①可视化与建模的优点和缺点是互补的,因此实际分析中可能会反复进行多次。
②上述所有的工具都需要编程programming.
③数据分析可以分为两个部分:hypothesis generation和hypothesis confirmation
ggplot2数据可视化
ggplot2网站:http://had.co.nz/ggplot2/
两种构图语法:Wickham’s grammar and Wilkinson’s grammar
构图的层次语法:http://vita.had.co.nz/papers/layered-grammar.pdf
ggplot2绘图有很多的层:
(1)Aesthetics:美学层(x,y轴、颜色、大小、标签、形状、线宽等)library(tidyverse) ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy,color = class))
ggplot()创建一个坐标系统,可以添加图层;ggplot(data = mpg)创建了一副空的图。
geom_point()增加了一个点图层,创建散点图。
aes()函数的功能是指定每个变量扮演的角色(aes代表aesthetics,即如何用视觉形式呈现信息)
aes的参数包括color、shape、size、stroke等。
通过单个变量划分绘图面板,使用facet_wrap()
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_wrap(~ class, nrow = 2)
结合两个变量划分绘图面,使用facet_grid()
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_grid(drv ~ cyl)
(3)Geometries:几何客体层(散点图、线图、柱状图、条形图等)
# 用点来描述 ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) # 用平滑的曲线来描述 ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy)) #以drv为分类变量对数据进行分类,然后对各个分类分别作图 ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv)) + geom_point(mapping = aes(x = displ, y = hwy,color = drv))
geom_smooth()基于描述汽车的驱动轮的变量drv, 将汽车划分为三条线。
?diamonds #使用geom_bar绘制条形图 ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut)) #使用stat_count绘制条形图 ggplot(data = diamonds) + stat_count(mapping = aes(x = cut))
geom_bar的默认统计量stat是count,意味着geom_bar()将调用stat_count()。
上述两个命令显示相同的图片,这是因为每一个几何量gemo都对应着一个统计量stat, 每一个统计量stat也对应着一个几何量geom。
ggplot2提供了20个统计函数,每个函数的用法你可用?stat_bin获取帮助,或者查看ggplot2 cheatsheet:
https://www.rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf
"identity", "dodge"和 "fill"三个参数的含义:
position = "identity"
将直接展示object的位置。会重叠,对于条形图不太适用,常需要设置透明度参数alpha
。position = "fill"
像栈一样,使每个堆放的条形图高度相同,便于组间的比例比较。position = "dodge"
将重复的object直接放在另外一个object的旁边。- 对于散点图可以使用
position = "jitter"
为点加上一个很小的随机噪声,避免点的重叠overplotting。
坐标系系统是ggplot2最复杂的部分,默认的坐标系统是笛卡尔坐标系(x和y独立表示点的位置)。除此之外还有以下坐标系:
coord_flip()
交换x轴和y轴。在画横向的箱线图时很有用。coord_quickmap()
为映射设置正确的纵横比。如果你要用ggplot2绘制空间数据,那么这一点很重要。、
nz <- map_data("nz") ggplot(nz, aes(long, lat, group = group)) + geom_polygon(fill = "white", color = "black") ggplot(nz, aes(long, lat, group = group)) + geom_polygon(fill = "white", color = "black") + coord_quickmap()
coord_polar()
用于极坐标系。极坐标能够揭示柱状图和鸡冠图之间的有趣联系。
bar <- ggplot(data = diamonds) + geom_bar( mapping = aes(x = cut, fill = cut), show.legend = FALSE, width = 1 ) + theme(aspect.ratio = 1) + labs(x = NULL, y = NULL) bar + coord_flip() bar + coord_polar()
- 点赞
- 收藏
- 分享
- 文章举报
- Python for Data Science Tips, Tricks, & Techniques 数据科学Python技巧 Lynda课程中文字幕
- 用于数据科学项目的公开数据库—19 Free Public Data Sets For Your First Data Science Project
- 使用Percona Data Recovery Tool for InnoDB恢复数据
- class Intermediate Python for Data Science
- 翻译【Appcelerator Blog】Arrow Encryption for Data in Transit(传输数据的Arrow加密)
- Should you teach Python or R for data science?
- Introduction to Python for Data Science 学习笔记
- PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS
- 深入解读:获Forrester大数据能力高评价的阿里云DataWorks思路与能力
- percona-data-recovery-tool-for-innodb-0.5工具修复丢失数据
- 在程序中写了一段代码向数据库中插入数据,出现了data too long for column 'name' at row 1的问题。
- 可视化系列论文【INFUSE: Interactive Feature Selection for Predictive Modeling of High Dimensional Data】
- Ubuntu环境下TensorBoard 可视化 不显示数据问题 No scalar data was found...(作者亲测有效)
- 第三篇:数据可视化 - ggplot2
- 数据结构之--series,DataFrame.use python and pandas for data mining
- Books on Scala for statistical computing and data science
- 数据可视化(data visualization)—— seaborn
- 使用Percona Data Recovery Tool for InnoDB恢复数据
- M3 Data Recovery for Mac (数据恢复软件)无需注册 v5.2破解版
- R for data science 之 stringr包