R可视化:分组频率分布直方图和密度图

介绍

  • ggplot2绘制分组频率分布直方图和密度图

加载R包

knitr::opts_chunk$set(message = FALSE, warning = FALSE)
library(tidyverse)
library(patchwork)
library(ggpubr)
library(rstatix)

# rm(list = ls())
options(stringsAsFactors = F)
options(future.globals.maxSize = 10000 * 1024^2)

Importing data

inputdata <- data.frame(
  GroupA = c(rnorm(80, 4, 2), rnorm(120, 10, 3)),
  GroupB = c(rnorm(130, 4, 2), rnorm(70, 10, 3)))

plotdata <- inputdata %>%
  tidyr::pivot_longer(
    cols = GroupA:GroupB,
    names_to = "variable",
    values_to = "value")

head(plotdata)

在这里插入图片描述

组间检验

stat.test <- plotdata %>%
  t_test(value ~ variable) %>%
  adjust_pvalue(method = "bonferroni") %>%
  add_significance("p.adj")

stat.test

在这里插入图片描述

基础图

绘制基础的直方图

p1 <- plotdata %>% 
  dplyr::filter(variable == "GroupA") %>%
  ggplot(aes(x = value)) +
  geom_histogram(binwidth = 1, color = "black", fill = "#03B0AB", cex = 1) +
  geom_density(aes(value, y = after_stat(count)), color = "black",
               fill = "#03B0AB", alpha = 0.2, cex = 1) +
  scale_x_continuous(expand = c(0, 0)) +
  scale_y_continuous(expand = c(0, 0), limits = c(0, 33)) +
  labs(x = NULL, y = "Count") +
  theme_classic(base_size = 15) +
  theme(axis.text = element_text(color = "black"))

p2 <- plotdata %>% 
  dplyr::filter(variable == "GroupB") %>%
  ggplot(aes(x = value)) +
  geom_histogram(binwidth = 1, color = "black", fill = "#FB632E", cex = 1) +
  geom_density(aes(value, y = after_stat(count)), color = "black",
               fill = "#FB632E", alpha = 0.2, cex = 1) +
  scale_x_continuous(expand = c(0, 0)) +
  scale_y_continuous(expand = c(0, 0), limits = c(0, 33)) +
  labs(x = NULL, y = NULL) +
  theme_classic(base_size = 15) +
  theme(axis.line.y = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks.y = element_blank(),
        axis.text = element_text(color = "black"))

在这里插入图片描述

修图

  • 添加显著性结果以及合并图形
pl <- p1 + 
  geom_rect(aes(xmin = 12, 
                xmax = 16, 
                ymin = mean(inputdata$GroupA) + 3 * sd(inputdata$GroupA), 
                ymax = mean(inputdata$GroupA) + 3.5 * sd(inputdata$GroupA)),
            color = "#03B0AB", fill = "transparent", cex = 1) +
  annotate("text", x = 13.5 , y = mean(inputdata$GroupA) + 3.2 * sd(inputdata$GroupA), 
           label = "GroupA", size = 3.5) +
  annotate("segment", x = mean(inputdata$GroupA), xend = mean(inputdata$GroupA), 
           y = 0, yend = 31,
           linetype = 2, cex = 1) +
  coord_cartesian(clip = "off", xlim = c(ceiling(min(inputdata$GroupA)) - 1, 
                                         ceiling(max(inputdata$GroupA)) + 1)) +
  theme(axis.title = element_text(size = 11, face = "bold"),
        axis.text = element_text(color = "black", size = 9)) +
  
  p2 +
  geom_rect(aes(xmin = 12,
                xmax = 16,
                ymin = mean(inputdata$GroupB) + 3 * sd(inputdata$GroupB), 
                ymax = mean(inputdata$GroupB) + 3.5 * sd(inputdata$GroupB)),
            color = "#FB632E", fill = "transparent", cex = 1) +
  annotate("text",x = 13.5, y = mean(inputdata$GroupB) + 3.2 * sd(inputdata$GroupB), 
           label = "GroupB", size = 3.5) +
  annotate("segment", x = mean(inputdata$GroupB), xend = mean(inputdata$GroupB), 
           y = 0, yend = 31, linetype = 2, cex = 1) +
  xlab("Value") +
  theme(axis.title.x = element_text(hjust = -0.2)) +
  coord_cartesian(clip = "off", xlim = c(ceiling(min(inputdata$GroupB)) - 1, 
                                         ceiling(max(inputdata$GroupB)) + 1)) +
  annotate("segment", x = -2*mean(inputdata$GroupA), xend = mean(inputdata$GroupB), 
           y = 31, yend = 31, cex = 1) +
  annotate("text", x = -mean(inputdata$GroupA)+2, y = 32, size = 5, 
           label = paste0("p=", stat.test$p.adj)) +
  theme(axis.title = element_text(size = 11, face = "bold"),
        axis.text = element_text(color = "black", size = 9))

pl

在这里插入图片描述

systemic information

devtools::session_info()
─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.3.3 (2024-02-29)
 os       macOS Sonoma 14.2
 system   aarch64, darwin20
 ui       RStudio
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Asia/Shanghai
 date     2024-04-24
 rstudio  2023.12.1+402 Ocean Storm (desktop)
 pandoc   3.1.1 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)

─ Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package     * version date (UTC) lib source
 abind         1.4-5   2016-07-21 [1] CRAN (R 4.3.0)
 backports     1.4.1   2021-12-13 [1] CRAN (R 4.3.0)
 broom         1.0.5   2023-06-09 [1] CRAN (R 4.3.0)
 cachem        1.0.8   2023-05-01 [1] CRAN (R 4.3.0)
 car           3.1-2   2023-03-30 [1] CRAN (R 4.3.0)
 carData       3.0-5   2022-01-06 [1] CRAN (R 4.3.0)
 cli           3.6.2   2023-12-11 [1] CRAN (R 4.3.1)
 colorspace    2.1-0   2023-01-23 [1] CRAN (R 4.3.0)
 crayon        1.5.2   2022-09-29 [1] CRAN (R 4.3.0)
 devtools      2.4.5   2022-10-11 [1] CRAN (R 4.3.0)
 digest        0.6.35  2024-03-11 [1] CRAN (R 4.3.1)
 dplyr       * 1.1.4   2023-11-17 [1] CRAN (R 4.3.1)
 ellipsis      0.3.2   2021-04-29 [1] CRAN (R 4.3.0)
 evaluate      0.23    2023-11-01 [1] CRAN (R 4.3.1)
 fansi         1.0.6   2023-12-08 [1] CRAN (R 4.3.1)
 farver        2.1.1   2022-07-06 [1] CRAN (R 4.3.0)
 fastmap       1.1.1   2023-02-24 [1] CRAN (R 4.3.0)
 forcats     * 1.0.0   2023-01-29 [1] CRAN (R 4.3.0)
 fs            1.6.3   2023-07-20 [1] CRAN (R 4.3.0)
 generics      0.1.3   2022-07-05 [1] CRAN (R 4.3.0)
 ggplot2     * 3.5.0   2024-02-23 [1] CRAN (R 4.3.3)
 ggpubr      * 0.6.0   2023-02-10 [1] CRAN (R 4.3.0)
 ggsignif      0.6.4   2022-10-13 [1] CRAN (R 4.3.0)
 glue          1.7.0   2024-01-09 [1] CRAN (R 4.3.1)
 gtable        0.3.4   2023-08-21 [1] CRAN (R 4.3.0)
 hms           1.1.3   2023-03-21 [1] CRAN (R 4.3.0)
 htmltools     0.5.8   2024-03-25 [1] CRAN (R 4.3.1)
 htmlwidgets   1.6.4   2023-12-06 [1] CRAN (R 4.3.1)
 httpuv        1.6.15  2024-03-26 [1] CRAN (R 4.3.1)
 knitr         1.45    2023-10-30 [1] CRAN (R 4.3.1)
 labeling      0.4.3   2023-08-29 [1] CRAN (R 4.3.0)
 later         1.3.2   2023-12-06 [1] CRAN (R 4.3.1)
 lifecycle     1.0.4   2023-11-07 [1] CRAN (R 4.3.1)
 lubridate   * 1.9.3   2023-09-27 [1] CRAN (R 4.3.1)
 magrittr      2.0.3   2022-03-30 [1] CRAN (R 4.3.0)
 memoise       2.0.1   2021-11-26 [1] CRAN (R 4.3.0)
 mime          0.12    2021-09-28 [1] CRAN (R 4.3.0)
 miniUI        0.1.1.1 2018-05-18 [1] CRAN (R 4.3.0)
 munsell       0.5.0   2018-06-12 [1] CRAN (R 4.3.0)
 patchwork   * 1.2.0   2024-01-08 [1] CRAN (R 4.3.1)
 pillar        1.9.0   2023-03-22 [1] CRAN (R 4.3.0)
 pkgbuild      1.4.4   2024-03-17 [1] CRAN (R 4.3.1)
 pkgconfig     2.0.3   2019-09-22 [1] CRAN (R 4.3.0)
 pkgload       1.3.4   2024-01-16 [1] CRAN (R 4.3.1)
 plyr          1.8.9   2023-10-02 [1] CRAN (R 4.3.1)
 profvis       0.3.8   2023-05-02 [1] CRAN (R 4.3.0)
 promises      1.2.1   2023-08-10 [1] CRAN (R 4.3.0)
 purrr       * 1.0.2   2023-08-10 [1] CRAN (R 4.3.0)
 R6            2.5.1   2021-08-19 [1] CRAN (R 4.3.0)
 Rcpp          1.0.12  2024-01-09 [1] CRAN (R 4.3.1)
 readr       * 2.1.5   2024-01-10 [1] CRAN (R 4.3.1)
 remotes       2.5.0   2024-03-17 [1] CRAN (R 4.3.1)
 reshape       0.8.9   2022-04-12 [1] CRAN (R 4.3.0)
 rlang         1.1.3   2024-01-10 [1] CRAN (R 4.3.1)
 rmarkdown     2.26    2024-03-05 [1] CRAN (R 4.3.1)
 rstatix     * 0.7.2   2023-02-01 [1] CRAN (R 4.3.0)
 rstudioapi    0.16.0  2024-03-24 [1] CRAN (R 4.3.1)
 scales        1.3.0   2023-11-28 [1] CRAN (R 4.3.1)
 sessioninfo   1.2.2   2021-12-06 [1] CRAN (R 4.3.0)
 shiny         1.8.1   2024-03-26 [1] CRAN (R 4.3.1)
 stringi       1.8.3   2023-12-11 [1] CRAN (R 4.3.1)
 stringr     * 1.5.1   2023-11-14 [1] CRAN (R 4.3.1)
 tibble      * 3.2.1   2023-03-20 [1] CRAN (R 4.3.0)
 tidyr       * 1.3.1   2024-01-24 [1] CRAN (R 4.3.1)
 tidyselect    1.2.1   2024-03-11 [1] CRAN (R 4.3.1)
 tidyverse   * 2.0.0   2023-02-22 [1] CRAN (R 4.3.0)
 timechange    0.3.0   2024-01-18 [1] CRAN (R 4.3.1)
 tzdb          0.4.0   2023-05-12 [1] CRAN (R 4.3.0)
 urlchecker    1.0.1   2021-11-30 [1] CRAN (R 4.3.0)
 usethis       2.2.3   2024-02-19 [1] CRAN (R 4.3.1)
 utf8          1.2.4   2023-10-22 [1] CRAN (R 4.3.1)
 vctrs         0.6.5   2023-12-01 [1] CRAN (R 4.3.1)
 withr         3.0.0   2024-01-16 [1] CRAN (R 4.3.1)
 xfun          0.43    2024-03-25 [1] CRAN (R 4.3.1)
 xtable        1.8-4   2019-04-21 [1] CRAN (R 4.3.0)
 yaml          2.3.8   2023-12-11 [1] CRAN (R 4.3.1)

 [1] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Reference

  • R语言ggplot2 学习NC文章的分组频率分布直方图和密度图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/572822.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

对增加LLaMA 3 上下文长度技术的猜测

AI苏妲己&#xff1a; 在许多应用场景中&#xff0c;如长对话、长文档摘要或长期计划执行等&#xff0c;大语言模型能够支持较长的上下文窗口是非常理想的。以一次处理约50页书籍内容为例&#xff0c;通常需要模型支持32K个token的上下文长度。目前&#xff0c;主流的大语言模…

[InternLM训练营第二期笔记]6.Lagent AgentLego 智能体应用搭建

该系列是上海AI Lab举行的书生 浦语大模型训练营的相关笔记部分。 该笔记是第六节课&#xff0c;学习大语言模型智能体的基本概念&#xff0c;以及Lagent的使用。 0. 智能体 在大型语言模型&#xff08;LLM&#xff09;的上下文中&#xff0c;智能体&#xff08;agent&#xf…

如何解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题......

深入探讨了高光谱遥感数据处理技术&#xff0c;涵盖了基本概念、成像原理、数据处理和分析方法&#xff0c;以及运用机器学习和深度学习模型提取和应用高光谱信息的技术。此外&#xff0c;通过Python实践练习&#xff0c;课程帮助学员巩固所学知识&#xff0c;使其得以深入理解…

Meta-Llama-3-8B-Instruct本地推理

Meta-Llama-3-8B-Instruct 本地推理 基础环境信息&#xff08;wsl2安装Ubuntu22.04 miniconda&#xff09; 使用miniconda搭建环境 (base) :~$ conda create --name pytorch212 python3.10 Retrieving notices: ...working... done Channels:- defaults Platform: linux-64 C…

EasyRecovery数据恢复软件2025破解版安装包下载

EasyRecovery数据恢复软件的主要功能及使用教程。coco玛奇朵可以提供一个概要和简化的教程&#xff0c;以便你了解其基本内容和操作步骤。 EasyRecovery绿色破解下载网盘链接: https://pan.baidu.com/s/1_6NmcOh_Jmc-DGc4TJD-Mg?pwddq4w 提取码: dq4w 复制这段内容后打开百度…

ABAP 第三代增强(BADI)--BADI旧方法

文章目录 第三代增强&#xff08;BADI&#xff09;--BADI旧方法需求分析确定BADI使用SE18查看BADIBADI的创建实施逻辑代码编写测试注意事项 第三代增强&#xff08;BADI&#xff09;–BADI旧方法 第三代增强BADI&#xff1a;全称是&#xff08;Business Add-Ins&#xff09; …

[卷积神经网络]YoloV9

一、概述 代码路径为&#xff1a; YoloV9https://github.com/WongKinYiu/yolov9 YoloV9的作者在论文中指出&#xff1a;现在的深度学习方法大多都在寻找一个合适的目标函数&#xff0c;但实际上输入数据在进行特征提取和空间变换的时候会丢失大量信息。针对这个问题&#xff…

MySQL数据类型:字符串类型详解

MySQL数据类型&#xff1a;字符串类型详解 在MySQL数据库中&#xff0c;字符串数据类型用于存储各种文本信息。这些数据类型主要包括CHAR、VARCHAR、TEXT和BLOB等。 CHAR与VARCHAR CHAR CHAR类型用于存储固定长度的字符串。它的长度在创建表时就已确定&#xff0c;长度范围…

书生·浦语大模型实战营之Llama 3 高效部署实践(LMDeploy 版)

书生浦语大模型实战营之Llama 3 高效部署实践&#xff08;LMDeploy 版&#xff09; 环境&#xff0c;模型准备LMDeploy chatTurmind和Transformer的速度对比LMDeploy模型量化(lite)LMDeploy服务(serve) 环境&#xff0c;模型准备 InternStudio 可以直接使用 studio-conda -t …

查找总价格为目标值的两个商品 ---- 双指针

题目链接 题目: 分析: 解法一: 暴力解法, 将每两个的和都算出来, 判断是否为目标值解法二: 数组中的数是按升序排序的, 我们可以定义左右指针 如果和小于目标值, 则应该让和变大, 所以左指针右移如果和大于目标值, 则应该让和变小, 所以右指针左移 思路: 定义left 0, righ…

使用Krukal算法解决图的最小生成树问题

Kruskal 算法 Kruskal算法是一种用于寻找连通图中最小生成树的算法。最小生成树是一个包含图中所有顶点的树&#xff0c;且边权重之和最小。Kruskal算法是一种贪心算法&#xff0c;它的基本思想是&#xff1a;每次选择边权重最小的边来扩展树&#xff0c;直到树包含所有的顶点…

一周学会Django5 Python Web开发-Django5 ORM执行SQL语句

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计49条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

Spring 注解开发详解

1. 注解驱动入门案例介绍 1.1 需求描述 1.需求&#xff1a;实现保存一条数据到数据库。 2.表结构&#xff1a;create table account(id int primary key auto_increment,name varchar(50),money double(7,2)); 3.要求&#xff1a;使用spring框架中的JdbcTemplate和DriverMana…

Python 使用相对路径读取文件失败

python open一个问及那时使用绝对路径可以&#xff0c;但是使用相对路径时报错&#xff0c;找不到指定文件 解决步骤如下&#xff1a; 添加Python配置 在新增的配置Json文件添加下图红框这一行

阿里云OSS

进入阿里云官网&#xff0c;手机号短信登录

Ansible 中的copy 复制模块应用详解

作者主页&#xff1a;点击&#xff01; Ansible专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月25日13点40分 Ansible 中的 copy 模块用于将文件或目录从本地计算机或远程主机复制到远程主机上的特定位置。它是一个功能强大的模块&#xff0c;可用于各种文…

prometheus helm install 如何配置告警模版

对接企业微信 获取企业id 注册完成之后&#xff0c;通过企业微信官网登录后台管理&#xff0c;在【我的企业】的企业信息里面&#xff0c;获取到Alertmanager服务配置需用到的第一个配置&#xff1a;企业ID 获取部门id 部门ID 在【通讯录】中&#xff0c;添加一个子部门&a…

无人机+自组网:2U机架车载式自组网电台技术详解

自组网的特点包括自发现、自动配置、自组织和自愈等。由于网络中的节点可以随时加入或离开&#xff0c;自组网需要能够自动感知拓扑结构的变化&#xff0c;并快速调整路由策略以适应新的网络环境。此外&#xff0c;自组网中的节点还需要具备节能、安全和分布式管理等特性&#…

maixcam如何无脑运行运行别人的模型(以安全帽模型为例)

maixcam如何无脑运行运行别人的模型&#xff08;以安全帽模型为例&#xff09; 本文章主要讲如何部署上传的模型文件&#xff0c;以及如果你要把你模型按照该流程应该怎么修改&#xff0c;你可以通过该文章得到你想要的应该&#xff0c;该应用也包含的退出按钮&#xff0c;是屏…

质量管理系统( QMS):一文扫盲,质量重于泰山。

一、什么是QMS系统 QMS系统是质量管理系统&#xff08;Quality Management System&#xff09;的缩写。它是一种组织内部用于管理和控制质量相关活动的体系&#xff0c;旨在确保产品或服务符合质量标准和客户要求。 QMS系统通常包括一系列文件、程序和流程&#xff0c;用于规…