今天是生信星球陪你的第117天
你想找辆共享单车,发现满街都是别家车,没有一辆你能骑。
你想学点生信,搜了“初学者教程”,满眼尽是高大上,没有一句能看懂。
终于你跨越茫茫宇宙,来到生信星球,发现了初学者的新大陆
豆豆开始写于18.9.4晚,这必定是一个持续性更新的过程
昨天jimmy一发朋友圈,单篇阅读量很快超过了我们的关注人数
开心之余,今晚拿起了数据科学这本书看了起来~
正如书的安排,将第一部分分给了可视化,确实让人耳目一新,学习R可视化并且用最好用的ggplot2工具,让学习变成一种享受。
我会按学习的内容梳理重点问题
.前言
数据处理流程需要整洁的数据tidy data
每一列是一个变量,每一行是一个观测
需要安装tidyverse包
包括了,使用tidyverse_update()检查更新
指定对象
包的名称后用两个冒号,如
.ggplot绘图
绘图模版
这个思路很棒!也讲出了ggplot的作图逻辑
无论什么图,首先需要输入的就是数据集 ,这时绘制的是一张白纸;
接下来就看你需要做什么图了,就是选择几何对象的过程,比如要做散点图,就将 替换成geom_point;
有了几何对象,接下来就要考虑,我们数据集中的数据怎么映射上去呢,x轴代表什么,y轴又代表什么呢?这个就是 需要做的事情——指定映射变量;
指定完变量后,就要想,怎么设置字体大小(size),形状(shape)、【填充|边框】颜色(fill | color)、透明度(alpha)等等,这些叫图形属性,也都是在 中完成;
绘制完一个图层后,当然可以继续新加图层,覆盖到原来之上(比如这里的散点图)
绘图注意
不要将无序变量映射为有序图形属性,什么样的变量就用什么样的属性
有序图形属性包括:size;无序属性包括:shape、size
进行图形属性设置时,有的属性是有序的图形属性,比如size,就是它是和数据的大小顺序有关的,反映出来的结果应该是:数值越大,点的大小越大。
但是如果用一个无序的变量(比如mpg数据集中的class变量,它只是一个分类的作用)去映射size,结果就会根据不同类别的class表现大小,基本上结果是看不出来什么问题的
不好的搭配
ggplot2最多同时使用6种形状
绘图模版的倒数第二条中,设置颜色用字符串,设置大小用毫米,设置形状用数值。关于形状:
形状设置
一行代码写不完,可以用+然后换行,但是+必须在结尾
图形分面:特别适合添加分类变量
单个变量:
两个变量:
ggplot中有大于30种几何对象,就是做出来的图形,但是对于不用的图进行设置的属性也有些差别,比如:带线的图就不能用点图的shape设置形状,可以用linetype设置实线、虚线等
设置是否显示图例
创建表格可以用
在()中还可以添加统计变换
位置调整position
作出一条参考线:对角线 ;水平; 竖直
.基础工作流
赋值
虽然也可以,还是推荐使用 。因为=后来可能会引起混淆
快速输入,用
对象名称
小写字母,分隔
调取快捷键帮助
.学习dplyr
五大金刚:
filter()按值筛选观测值;arrange()行重排序;select()按名称选取变量;mutate()使用现有变量创建新变量;summarize()获得摘要
【工作方式:函数(数据框,变量名称+操作) = 》结果返回新数据框】
一种设定:group_by(),可以改变上述函数的作用范围
filter想同时输出结果并保存在一个变量中,可以这样:
比较数值—浮点数较特殊
逻辑运算
NA == NA => NA
NA是什么?=》not available的缺失值
打眼看去,很奇怪的表达,判断NA == NA,怎么结果还是NA?
按现实情况去解释就好理解了:豆豆的年龄未知(dou
当然,要判断NA值,用
filter()默认只保留TRUE的行,排除FALSE、NA,如果要保留NA,例如
简写 %in%
选出x是y中的一个值的所有行
简化筛选条件
另一个简单的选取数据函数between()
可以用于选取数据范围
参数left,right表示数据左边和右边范围,返回结果是逻辑值
领取专属 10元无门槛券
私享最新 技术干货