R数据科学之日常积累

今天是生信星球陪你的第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表示数据左边和右边范围,返回结果是逻辑值

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180904G1Y9XZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券