ggplot2技巧书《R数据可视化手册》读书笔记:第二章 快速探索数据

2023-11-12

2.1绘制散点图

基础绘图:

plot(data$x, data$y)

ggplot2:

qplot(data$x, data$y)   #提前安装,加载ggplot2

qplot(x, y, data =...)

#等价于

ggplot(data, aes(x, y)) + geom_point()

2.2绘制折线图

基础绘图:

plot(x, y, type = "1")

加数据点:points(x, y)

更多折线:lines(x, y', col)

ggplot2:  

qplot(data$x, data$y, geom = "line")

qplot(x, y, data, geom = "line")

#等价于

ggplot(data, aes(x, y)) + geom_line()

加数据点:

ggplot(data, aes(x, y)) + geom_line()+geom_point()

qplot(x, y, data, geom = c("line", "point"))

2.3绘制条形图

基础绘图:

barplot(data$x, name.arg) #第一个arg是高度,第二个是每个条形对应的标签(可选)

条形图也能表示分组中各个element的频数。这和直方图类似,但是x为离散取值,直方图是连续取值。

要计算向量中各个类别的函数,可以使用table()函数。

绘制频数条形图

barplot(table(data$x))

ggplot2: 

qplot(data$x, data$y, geom = "bar", stat = "identity")

qplot(factor(data$x), data$y, geom = "bar", stat = "identity")

ggplot(data, aes(x, y)) + geom_bar(stat = "identity")

注意:第一条命令行中data$x是横轴的变量名,但是如果是数值,那么是连续型的,所以会出现条形不落在数字上的情况。第二条命令行中转化为因子型变量,令系统将其视作离散值,这样每个条形都有对应的标签。

绘制频数条形图

qplot(data$y)

qplot(factor(data$y))

ggplot(data, aes(x = factor(y))) + geom_bar()

2.4绘制直方图

        直方图(histogram)是数值数据分布的精确图形表示。 这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。 为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。

基础绘图:

使用hist()绘制直方图,传递一个向量,通过breaks参数指定大致组距

hist(data$x, breaks = 10)  #纵轴Frequency

ggplot2: 

qplot(x, data, binwidth)

ggplot(data, aes(x)) + geom_histogram(binwidth)

2.5绘制箱线图

使用plot()函数绘制箱线图时向其传递两个向量x,y。x为factor时,默认绘制箱线图。

#公式语法

boxplot(y ~ x, data)

boxplot(y ~ x1 + x2, data)

如果不是基于多分组变量的箱线图,用ggplot2时,只需要把参数设定为geom = "boxplot",其他一样

如果是基于多分组变量的箱线图,用ggplot2时,需要使用interaction()

ggplot(data, aes(x = interaction(x1, x2), y)) + geom_boxplot()

运行?boxplot.base和?geom_boxplot,查看两者在计算分位数的方法上的差异。

2.6绘制函数图像

使用curve()函数绘制函数图像

curve(x ^ 3 - 5 * x, from = -4, to = 4)

curve(function, add = TRUE, col)

qplot(c(0,20), fun, stat = "function", geom = "line")

ggplot(data.frame(x = c(0,20)), aes(x = x)) + stat_function(fun, geom = "line")

以上更详细的介绍出现在以后的章节。本章节的目的是介绍R提供的基本的绘图工具,并将它们与ggplot2包做比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2技巧书《R数据可视化手册》读书笔记:第二章 快速探索数据 的相关文章

  • feign get方法参数是form提交方式

    使用feign调用服务端接口时如果服务端接口是get方式 并且采用form方式表达提交的时候需要使用 SpringQueryMap 注解 但是参数列表中只能使用一个 SpringQueryMap注解 多个只会有一个生效 服务端 被调用方 c
  • 全球及中国动脉导管未闭治疗设备行业渠道模式分析与需求前景预测报告2022版

    全球及中国动脉导管未闭治疗设备行业渠道模式分析与需求前景预测报告2022版 修订日期 2021年12月 搜索鸿晟信合研究院查看官网更多内容 2021年 全球动脉导管未闭治疗设备市场规模达到了 百万美元 预计2027年可以达到 百万美元 年复
  • 理事的三板斧-以项目部为例

    作为管理者来说 无非是理事 管人 这中间理事尤为重要 因为事理的不清楚 人肯定难管好 即使有个人魅力 队伍凝聚力强 事理的不对 也会事倍功半 长期的去看 团队也会出问题的 事理的清楚 我认为主要有三点 目标 流程 模板 目标清楚了 方向就不
  • 跨度计算算法

    int FindingSpans int inputArray int spans new int inputArray length for int i 0 i lt inputArray length i int span 1 int
  • 关于matplotlib及相关cmap参数的取值

    关于matplotlib及相关cmap参数的取值 在matplotlib中对于图片的显示有如下方法 这不是重点 其中有cmap binary 的参数 plt imshow imgs i reshape 28 28 cmap binary 或
  • Linux系统之安装java开发环境

    Linux系统之安装java开发环境 一 java介绍 1 java简介 2 java的三大平台 3 java的主要特性 二 检查本地系统环境 1 检查系统版本 2 检查系统内核版本 三 清空java环境 1 删除java目录 2 移除所有
  • 不高兴的津津1073

    Description 津津上初中了 妈妈认为津津应该更加用功学习 所以津津除了上学之外 还要参加妈妈为她报名的各科复习班 另外每周妈妈还会送她去学习朗诵 舞蹈和钢琴 但是津津如果一天上课超过八个小时就会不高兴 而且上得越久就会越不高兴 假
  • 经典Proxool.properties

    数据库1jdbc 1 proxool alias WEBGISjdbc 1 proxool driver class oracle jdbc driver OracleDriverjdbc 1 proxool driver url jdbc
  • JNLP 文件无法打开的解决办法

    JNLP Java Network Launching Protocol 是 java 提供的一种可以通过浏览器直接执行 java 应用程序的途径 它使你可以直接通过一个网页上的 URL 连接打开一个 java 应用程序 因此 要运行 jn
  • 用户·角色·权限·表

    一 引言 因为做过的一些系统的权限管理的功能虽然在逐步完善 但总有些不尽人意的地方 总想抽个时间来更好的思考一下权限系统的设计 权限系统一直以来是我们应用系统不可缺少的一个部分 若每个应用系统都重新对系统的权限进行设计 以满足不同系统用户的

随机推荐

  • React新特性hooks中memo,usememo,useCallback的区别

    useMemo memo类似于PureCompoent 作用是优化组件性能 防止组件触发重渲染 memo针对 一个组件的渲染是否重复执行
  • 江苏开票系统安全接入服务器地址,江苏省增值税发票查询平台网址.doc

    江苏省增值税发票查询平台网址 江苏省增值税发票查询平台网址 81 增值税发票查询平台于2016年5月27日在全国36个省 市 自治区升级完毕 目前全国统一版本为V2 0 00 新版本上线后 功能更加强大和人性化 为了使广大纳税人能更加正确
  • nginx出现 “414 request-uri too large”

    公司项目有一个模块 在请求查询的时候使用了Get方法 由于拼接的url过长 导致nginx出现了 414 request uri too large 错误 出现这种问题可以按照如下解决 在nginx的nginx conf修改如下参数的 cl
  • git check-pick,git patch 与 git stash 详解

    大家好 我是 17 今天和大家聊一聊 git check pick git patch 与 git stash 的用法 git cherry pick 为什么要用 cherry pick 不适合 merge 的场景就可以考虑 cherry
  • mysql数据库——思维导图

    学完mysql后 自己弄得的思维导图 原图30 6MB 太大了放不上来 这里就放个链接吧 欢迎大家去看 如果有需要改正的地方 请告诉我 谢谢 链接 https www zhixi com view 718f3805 密码 6522 下面是M
  • Android 动态权限判断是否允许的几种方式及测试

    一 说在前面 由于各个系统厂商定制 checkSelfPermission在有些机型上是始终为0的 也就是允许 这个问题非常头疼嘞 于是手持一加对三种方式进行了测试 以read sms权限为例 二 检查方式 常用的检查 ContextCom
  • java 内存分配管理_JAVA实验操作系统内存管理-最优分配,最先分配,最坏分配算法...

    package Memory import java util ArrayList import java util Iterator import java util Scanner public class OS ArrayList f
  • 用这个算法能让大数据集群性能提升100倍!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 一 前情概要 二 背景引入 三 问题凸现 四 Hadoop的优化方案 一 前情概要 这篇文章给大家聊聊Hadoop在部署了大规模的集群场景下 大量客户端并发写数
  • K8S安装部署Nacos集群

    1 在k8s中部署的难点 在k8s中部署nacos集群和在裸机器上直接部署nacos机器其实差别不大 最主要的区别是k8s中部署的服务没有固定的ip地址 而nacos集群部署需要配置所有实例的ip 2 解决 在k8s中通过StatefulS
  • day06 Spring AOP

    DI注解 作用 解决使用xml配置繁琐的问题 该注解和使用配置文件一样分成两类进行注入 字段注入或属性注入 注入bean 取代xml中的ref 1 value注解 使用value注解给属性进行赋值 只能使用于八大基本类型和常量类型 Stri
  • Woedpress分类目录绑定二级域名

    实现分类目录和二级域名绑定需要使用 WordPress 的多站点功能 Multisite 以下是一个基本的步骤和示例代码来实现这个功能 代码实现方法 步骤 将 WordPress 安装为多站点模式 在 WordPress 安装目录下的 wp
  • verdi使用linux命令,vcs和verdi的调试及联合仿真案例

    环境配置 首先搭建好vcs和Verdi都能工作的环境 主要有license问题 环境变量的设置 在220实验室的服务器上所有软件的运行环境都是csh 所以 所写的脚本也都是csh的语法 生成波形文件 Testbench的编写 若想用Verd
  • 机器学习实战8-基于XGBoost和LSTM的台风强度预测模型训练与应用

    大家好 我是微学AI 今天给大家介绍一下机器学习实战8 基于XGBoost和LSTM的台风强度预测模型训练与应用 今年夏天已经来了 南方的夏天经常会有台风登陆 给人们生活带来巨大的影响 本文主要基于XGBoost模型和长短期记忆 LSTM
  • 淘宝滑动验证码研究

    引言 悠闲的时候 总会去找些事做做 前些天在登录淘宝的时候 发现了滑动验证码 虽然已经不是什么新事物 但还是产生了很大的兴趣 传统的字符输入验证码 变为了滑动验证码 这一看就是产品大师的手笔啊 不知道申请专利没有 这种 情感化 的验证码设计
  • C语言深入学习--checklist7:链接、运行时数据结构、申明

    1 你知道段的概念吗 段是二进制文件中的简单区域 里面保存了某种特定的类型 如符号表条目 相关的所有信息 1 可执行程序分为几个段 每个段保存什么内容 可执行程序分为三个段 BSS段 数据段 文本段 BSS段 Block Started b
  • 矩阵迹运算介绍及C++/OpenCV/Eigen的三种实现

    矩阵迹运算返回的是矩阵对角元素的和 迹运算因为很多原因而有用 若不使用求和符号 有些矩阵运算很难描述 而通过矩阵乘法和迹运算符号 可以清楚地表示 例如 迹运算提供了另一种描述矩阵Frobenius范数的方式 用迹运算表示表达式 我们可以使用
  • 2021斯坦福CS224N课程笔记~2

    2 Neural Classifiers 2 1本篇内容覆盖 word2vec与词向量回顾 算法优化基础 计数与共现矩阵 GloVe模型 词向量评估 word senses 2 2 回顾 word2vec 的主要思想 2 2 1 主要步骤
  • Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime

    报错 在进行编译的时候运行到下面的错误 Node Sass does not yet support your current environment Windows 64 bit with Unsupported runtime 88 这
  • 芯片电源引脚的电容选择

    主要内容 参考如下 DC 100K 10uF以上的钽电容或铝电解 100K 10M 100nF 0 1uF 陶瓷电容 10M 100M 10nF 0 01uF 陶瓷电容 100M以上 1nF 0 001uF 陶瓷电容和PCB的地平面与电源平
  • ggplot2技巧书《R数据可视化手册》读书笔记:第二章 快速探索数据

    2 1绘制散点图 基础绘图 plot data x data y ggplot2 qplot data x data y 提前安装 加载ggplot2 qplot x y data 等价于 ggplot data aes x y geom