《ggplot2:数据分析与图形艺术》,读书笔记
第1章 简介


第2章从qplot开始入门
- 二维变量关系:
geom=“point”:绘制散点图geom=“smooth”:拟合一条平滑曲线,灰色区域是置信区间,不绘制标准误差则se=FASLEgeom=“boxplot”:绘制箱线胡须图,概括一系列点的分布情况geom=“path” 和 geom=“line”:在数据点之间绘制连线,一般用来探索时间和其他变量之间的关系,线条图只能创建从左到右的连线,而路径图则可以是任意方向
- 一维分布:集合对象由变量类型决定
- 连续变量:
geom=“histogram”:直方图(默认)geom=“freqpoly”:频率多边形geom=“density”:密度曲线
- 离散变量:
geom=“bar”:条形图
3.1 平滑曲线geom=“smooth”具体参数默认灰色区域是置信区间,设置se=FALSE将不绘制标准误method参数,选择不同的平滑器:
- method=“loess”,span=0。1:局部回归方法,曲线的平滑程度由span控制,内存消耗为O(n2),当n超过1000时将采用别的平滑算法。n较小时是默认选项
- method=“gam”,formula=y~s(x):mgcv包拟合广义加性模型。与lm的样条类似,但样条的阶数是通过数据估计得到的。对于大数据(n>1000)使用y~s(x,bs=“cs”)
- method=“lm”:线性模型,默认是一条直线,可通过formula=y~poly(x,2)拟合二次多项式,也可加载splines包使用样条曲线formula=y~ns(x,2),第二个参数是自由都,取值越大,曲线的波动越大
- method=“rlm”:MASS包,和lm类似,但采用更稳健的拟合算法,使得对异常值不太敏感
3.2 箱线图和扰动点图:研究连续变量随着分类变量的变化情况
- geom=“jitter”:扰动点图
- geom=“boxplot”:箱线胡须图,反映中位数等。可以配合使用colour、fill和size等
3.3 直方图和密度曲线图:展示单个变量的分布(连续变量)
- 一般绘制
geom=“histogram”直方图,binwidth设定组距(组距大反映总体特征),break可以显示指定切分位置geom=“density”:密度曲线图,adjust控制曲线的平滑程度(adjust越大曲线越平滑)
- 增加 分类型变量 控制
参数colour或者fill根据设定分类变量时,几何对象会自动拆分,并绘制多条密度曲线图或直方图3.4条形图geom=“bar”(离散变量)
- 普通条形图
- 增加 连续变量 权重: weight
3.5时间序列中的线条图和路径图
- geom=“line”:线条图,按x的取值排序(一般横轴是时间),从左到右连接
- geom=“path” :路径图,任意原始顺序连接(点的顺序反映先后时间):colour参数设置时间来反映
group设置多个序列个体,并映射到一张图中(4.5.3节)
第9章 数据操作
- 分组变量:用一张图内的数据分成几个部分处理
- 分面变量:用来把数据分割成几个部分,每个部分分别画在一张小图里
- subset()——用来对数据取子集
ddply(diamonds,.(color),subset,order(carat)<=2) #选取各个颜色里最小的2颗钻石
- transform()——用来进行数据变换
ddply(diamonds,.(color),transform,price=scale(price)) #每个颜色组里钻石的价格标准化
- colwise()——把一个处理向量的函数变为处理每列数据框
colwise(func)func(<data.frame>)或者colwise(func)(<dataframe>)
- numcolwise()——只对数值类型的列操作
- catcolwise()——只对分类类型的列操作
data是待变形的元数据id.vars依旧放在列上位置保持不变的变量,该值通常是离散的,类似数据库中的主键measure.vars需要被放在同一列的变量,不同变量放在同一列并根据变量名进行分组。
- 多重时间序列图
在一张图上画2个时间序列:
1、画图时把两个变量放在两个不同的图层上2、把数据变成一个“长数据”,然后根据variable变量区分
分析:由于两个时间序列取值差异太大,常常会导致其中一个序列值趋近一条直线改进方法:
1、把数值调整到相同范围:做极差正规化变换2、使用自由标度的分面qplot(date,value,data=emp,geom="line")+facet_grid(variable~.,scale=“free_y”)
- 平行坐标图
- 线性模型


- 编写自己的方法




《ggplot2:数据分析与图形艺术》,读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- Bash 实例,第二部分
我们先看一下处理命令行自变量的简单技巧,然后再看看 bash 基本编程结构. 接收自变量 在 介绍性文章 中的样本程序中,我们使用环境变量 "$1" 来引用第一个命令行自变量.类似 ...
- (转)用python获取页面返回的cookie
网址如下: crifan:http://www.crifan.com/get_cookie_from_web_response_in_python/ . . . .
- jsonp解析 html
https://jsoup.org/cookbook/ 官网的教程, 很详细! <dependency> <groupId>org.jsoup</groupId> ...
- HDU2553 N皇后问题---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=2553 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在 ...
- 【BZOJ】1708: [Usaco2007 Oct]Money奶牛的硬币
[算法]DP [题解] 如果每个排列算一种,则令f[i]表示凑成面值为i的方案数,容易推出f[i]+=f[i-a[j]]. 现在是每个组合才算一种,令f[i][j]第二维表示只使用前j种面值,f[i] ...
- Kali 1.0 / 2.0 安装中文输入法(谷歌pinyin + 其他)
1.kali默认是没有中午输入法的,需要自己安装一下 2.首先我们先获取root权限 dnt@HackerKali:~$ su密码: 3.安装中文输入法(apt-get 指令不会的同学可以学习一下基础 ...
- syntax error near unexpected token `then'问题的解决
http://blog.csdn.net/gongmin856/article/details/7690917 #!/bin/bash #if program test echo 'a:' read ...
- Linux内核设计与实现读书笔记(8)-内核同步方法【转】
转自:http://blog.chinaunix.net/uid-10469829-id-2953001.html 1.原子操作可以保证指令以原子的方式执行——执行过程不被打断.内核提供了两组原子操作 ...
- Mybatis三剑客
1.Mybatis-generator 自动化生成数据库交互代码->dao+pojo+xml 2.Mybatis-plugin dao文件和xml自动跳转,验证正确性,在xml中只能提示等功能 ...
- 【反演复习计划】【bzoj3994】约数个数和
首先要用数学归纳证明一个结论,不过因为我实在是懒得打公式了... 先发代码吧. #include<bits/stdc++.h> #define N 50005 using namespac ...
