ggplot_QQ图和ECDF
时间:2022-07-25
本文章向大家介绍ggplot_QQ图和ECDF,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
QQ图和ECDF
sunqi
2020/8/3
QQ图
用来描述数据正态性的问题,配合正态性检验进行分析
主要的函数和参数
stat_qq()
color, shape and size:和之前一样
代码
rm(list = ls())
# 导入需要的包
library(ggplot2)
# 用于绘图拼接
library(patchwork)
# 用于数据处理分析
library(tidyverse)
# 设置ggplot的主题
theme_set(theme_minimal() +
theme(legend.position = "top"))
#自定义数据get函数
get_data <- function() {
set.seed(1234)
df = data.frame(sex = factor(rep(c("F", "M"), each = 200)),
weight = c(rnorm(200, 55), rnorm(200, 58)))
return(df)
}
#调用函数
dataset <- get_data()
# 绘图
p1 <- dataset %>% ggplot(aes(sample = weight)) +
# QQ图,根据颜色分组
stat_qq(aes(color = sex)) +
# 配色方案
scale_color_manual(values = c("#00AFBB", "#E7B800")) +
# 添加lab
labs(y = "Weight")
# 除了ggplot2,ggpbur也可以进行qq图的绘制
# 使用ggpbur包中的ggqqplot函数绘制
library(ggpubr)
p2 <- dataset %>% ggqqplot(
x = "weight",
color = "sex",
palette = c("#0073C2FF", "#FC4E07"),
# 设置主题
ggtheme = theme_pubclean()
)
# 这里就体现出ggpubr的优势,好看
p1 + p2
ECDF图
ECDF:Empirical cumulative distribution function,用于描述数据的分布,横坐标为指标,纵坐标为累计概率
从图中可以看出数据的分布比例
代码
# 绘图
p3 <- dataset %>% ggplot(aes(x = weight)) +
# ECDF函数
# 设置性别组,绘制两条曲线
stat_ecdf(aes(color = sex, linetype = sex),
# 阶梯状的升高
geom = "step",
size = 1.5) +
# 配色方案
scale_color_manual(values = c("#00AFBB", "#E7B800")) +
labs(y = "f(weight)")
# x周为体重的值,y轴为比例
# 从图中可以看出小于多少体重占比n%
p3
结束语
此次为ggplot2系列的最后一次内容,基本的图形已经介绍完毕,总体来说,ggplot语法结构大同小异,用的时候查函数就行。其实ggplot还可以实现很多绘图的功能,暂时就更新到这里,其他绘图后面有时间再更新,希望能够完善。
love&peace
- 百度搜索 “Java面试题” 前200页(面试必看)
- C# 给枚举类型增加一个备注特性
- 依赖注入(IOC)二
- Linux Token Auth 一次性密码认证
- WPF备忘录(7)WPF图片资源路径介绍
- 植入式攻击入侵检测解决方案
- 神经网络太臃肿?教你如何将神经网络减小四分之一
- WPF中ListView如何改变选中条背景颜色
- WPF Trigger for IsSelected in a DataTemplate for ListBox items
- C#基础知识回顾--BackgroundWorker介绍
- Elasticsearch 瞬间入门
- 使用OpenLDAP 操作 Windows Active Directory
- 优化算法:到底是数学还是代码?
- Email 服务器之 SPF 记录
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一个简单案例,带你看懂GC日志!
- C#中ref和out的区别使用
- 图解 MySQL 索引,写得实在太好了!
- 10、图像的几何变换——平移、镜像、缩放、旋转、仿射变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)数字图像
- String、StringBuiler、StringBuffer,谁性能最高?
- 图像的几何变换——平移、镜像、缩放、旋转、仿射变换 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)数字图像处理笔
- 详说C#中的结构struct
- c#结构体总结
- 跨域问题(CORS / Access-Control-Allow-Origin)
- C#中的结构体与类的区别
- c#结构体与类的区别,及使用技巧 C#中的结构体与类的区别
- hikvision SDK使用(转)
- 《Scikit-Learn与TensorFlow机器学习实用指南》 第11章 训练深度神经网络(上)
- 海康SDK开发步骤
- 《Scikit-Learn与TensorFlow机器学习实用指南》 第11章 训练深度神经网络(下)