下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文6991字)。
1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演示(更新20240814)_在r语言的众多可视化中,哪个包提供了交互式图形的功能但并未专门用于静态图表绘制-CSDN博客
在数据科学中,数据的探索和可视化是分析的重要组成部分。R 语言提供了强大的工具来进行数据分析和可视化,其中 Shiny 包允许我们构建交互式的 Web 应用,使用户可以动态地探索数据。本文将详细介绍如何使用 Shiny 构建一个交互式的散点图应用,该应用允许用户选择鸢尾花数据集的不同变量进行可视化,并通过多种选项自定义图形。
1、准备工作
在开始之前,请确保你已经安装了以下 R 包:
- : 用于构建交互式 Web 应用的核心包。
- : 提供主题支持,允许我们定制 Shiny 应用的外观。
- : 一个用于数据操作的 R 包,使数据过滤和选择更加简洁和高效。
- : R 中最流行的数据可视化包,用于创建优美且灵活的图形。
- : 用于在 图形上添加额外信息,如边际图。
可以通过运行以下命令来安装这些包:
2、鸢尾花数据集
鸢尾花数据集()是数据科学中常用的经典数据集之一。该数据集包含 150 条记录,每条记录代表一朵鸢尾花的测量数据。数据集包括四个数值变量(萼片长度、萼片宽度、花瓣长度和花瓣宽度)和一个分类变量(物种)。
3、构建 Shiny 应用
我们将分两个部分来构建这个应用:用户界面(UI)和服务器端逻辑(Server)。用户界面定义了应用的外观及交互元素,而服务器端逻辑则处理用户的输入并生成相应的输出。
加载展包和筛选数值型列
例如,如果鸢尾花数据集中包含列 、、、 和 ,其中前四列是数值型,那么 将只包含前四列。
4、定义用户界面
在 Shiny 应用中,用户界面(UI)定义了应用的布局和用户交互组件。我们将使用 函数来创建一个带有侧边栏的页面布局。
- : 允许用户从鸢尾花数据集的数值变量中选择 X 轴和 Y 轴的变量。
- : 允许用户根据物种筛选数据。
- : 插入一条水平分隔线,以分隔不同的输入控件。
- : 复选框,用于控制是否显示物种、是否添加边际图,以及是否在散点图中添加平滑曲线。
- : 用于在页面上展示由 生成的图形。
5、定义服务器端逻辑
定义服务器端逻辑指的是明确和编写在服务器端运行的一系列规则、流程和操作,以处理来自客户端(如网页浏览器或移动应用)的请求,并根据这些请求执行相应的任务。服务器端逻辑涵盖了广泛的功能,例如接收和解析客户端发送的数据,与数据库进行交互以读取或写入信息,执行复杂的计算和数据处理操作,根据特定条件做出决策,生成动态的内容并将其返回给客户端,以及处理用户认证、授权和安全性等方面的任务。
举个例子,当用户在购物网站上提交订单时,服务器端逻辑会验证订单信息的完整性和准确性,检查库存数量,计算总价,将订单数据保存到数据库中,并最终向用户返回确认消息。又比如,在社交媒体平台上,服务器端逻辑会决定哪些内容应该显示在用户的动态页面上,基于用户的关注列表、发布时间和内容相关性等因素进行筛选和排序。
- : 使用 函数来创建一个反应式表达式,它根据用户选择的物种过滤数据集。
- 函数确保在没有选择物种时应用不会出错。
- : 根据用户的输入动态生成图形。
- 函数用于创建基本的散点图, 函数定义了 X 轴和 Y 轴的变量。
- : 如果用户选择了显示边际图, 函数会在散点图的边缘添加密度图或直方图。
6、 启动 Shiny 应用和效果展示
这段代码将 UI 和服务器逻辑组合在一起,并启动 Shiny 应用。运行此应用后,用户可以选择不同的 X 轴和 Y 轴变量,筛选特定物种,并通过复选框控制是否显示物种、添加边际图或平滑曲线。
在完成基础的 Shiny 应用之后,能够依据实际的需求来展开更进一步的拓展。比如说,您能够增添数据导入的功能,赋予用户上传自身数据集的权限,并对其展开可视化的分析;还能够丰富图表的类型,除了常见的散点图之外,添加诸如箱线图、柱状图等其他类型的图表;此外,借助 bslib 包,您能够为应用程序设定专属的自定义主题,从而使之与特定的品牌风格或者审美偏好相契合。
~~~~~~~
随着数据科学行业的迅速发展,工具的种类和使用方法层出不穷,传统的纸质R语言教材由于篇幅限制和出版审核的繁琐程序,难以及时涵盖最新的技术动态和复杂应用场景。此外,市面上虽有不少R语言免费视频,但大多仅面向初学者,缺乏对如医药等复杂领域的深入探讨。为了解决这些问题,我们在CSDN论坛推出了《用R 探索医药数据科学》专栏。这一专栏将持续更新,不仅是一份教材,更是你掌握最新、最全医药数据科学的得力助手。我们为你精心整理了领域内的深度资料,提供专业且实战导向的内容,帮助你高效提升研究能力,加快医药数据科学领域科研成果的产出。
- 《用R 探索医药数据科学》专栏会持续更新。
- 每篇文章篇幅在5000字 至9000字之间。
- 专栏已更新超过 110篇文章,超60万字。
- 内容涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。
https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482
第一章:认识数据科学和R
1章1节:数据科学的发展历程,何 R 备受青睐及我们专栏的独特之处(更新20240822)-CSDN博客
1章2节:关于人工智能、机器学习、统计学连和机器学习、R 与 ChatGPT 的探究 (更新20240814)-CSDN博客
1章3节:R 语言的产生与发展轨迹(更新2024/08/14)-CSDN博客
1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演示(更新20240814)-CSDN博客
第二章:R的安装和数据读取
2章1节:R和RStudio的下载和安装(Windows 和 Mac)-CSDN博客
2章2节:RStudio 四大区应用全解,兼谈 R 的代码规范与相关文件展示_rstudio的console和terminal-CSDN博客
2章3节:RStudio的高效使用技巧,自定义RStudio环境(更新20241023)_rstudio如何使用-CSDN博客
2章4节:用RStudio做项目管理,静态图和动态图的演示,感受ggplot2的魅力-CSDN博客
2章5节:如何模糊安装R的扩展包,工作目录和空间的设置,用函数参看版本和更新(更新20241022 )-CSDN博客
2章6节:R的数据集读取和利用,如何高效地直接复制黏贴数据到R(更新20240807 )_r语言 复制数据集-CSDN博客
2章7节:读写RDS,CSV,TXT,Excel,SPSS、SAS、Stata、Minitab等的数据文件(更新20240807)_r语言读取rds文件-CSDN博客
2章8节:一文学会 R Markdown 的文档核心操作,切记文末有R资源的分享_r markdown文件(.rmd)-CSDN博客
2章9节:认识R与数据库连接和网络爬虫,学会在R中使用SQL语言_sql和r语言-CSDN博客
2章10节:用 R 直接下载并分析 NHANES 数据库的数据,文末示例自创便捷下载函数(更新20240807)_nhanes数据分析-CSDN博客
第三章:认识数据
3章1节:数据的基本概念以及 R 中的数据结构、向量与矩阵的创建及运算-CSDN博客
3章2节:继续讲R的数据结构,数组、数据框和列表-CSDN博客
3章3节:R的赋值操作与算术运算_r里面的赋值-CSDN博客
3章4节:R的逻辑运算和矩阵运算-CSDN博客
3章5节:R 语言的循环与遍历函数全解析-CSDN博客
第四章:数据的预处理
4章1节:全面了解 R 中的数据预处理,通过 R 基本函数实施数据查阅_r数据预处理-CSDN博客
4章2节:从排序到分组和筛选,通过 R 的 dplyr 扩展包来操作-CSDN博客
4章3节:处理医学类原始数据的重要技巧,R语言中的宽长数据转换,tidyr包的使用指南-CSDN博客
4章4节:临床数据科学中如何用R来进行缺失值的处理_临床生存分析缺失值r语言-CSDN博客
4章5节:数据科学中的缺失值的处理,删除和填补的选择,K最近邻填补法-CSDN博客
4章6节:R的多重填补法中随机回归填补法的应用,MICE包的实际应用和统计与可视化评估-CSDN博客
4章7节:用R做数据重塑,数据去重和数据的匹配-CSDN博客
4章8节:用R做数据重塑,行列命名和数据类型转换-CSDN博客
4章9节:用R做数据重塑,增加变量和赋值修改,和mutate()函数的复杂用法_r语言如何在数据集中添加变量-CSDN博客
4章10节:用R做数据重塑,变体函数应用详解和可视化的数据预处理介绍-CSDN博客
4章11节:用R做数据重塑,数据的特征缩放和特征可视化-CSDN博客
4章12节:R语言中字符串的处理,正则表达式的基础要点和特殊字符-CSDN博客
4章13节:R语言中Stringr扩展包进行字符串的查阅、大小转换和排序-CSDN博客
4章14节:R语言中字符串的处理,提取替换,分割连接和填充插值_r语言替换字符串-CSDN博客
4章15节:字符串处理,提取匹配的相关操作扩展,和Stringr包不同函数的重点介绍和举例-CSDN博客
4章16节:R 语言中日期时间数据的关键处理要点_r语言 时刻数据-CSDN博客
第五章:定量数据的统计描述
5章1节:用R语言进行定量数据的统计描述,文末有众数的自定义函数-CSDN博客
5章2节:离散趋势的描述,文末1个简单函数同时搞定20个结果-CSDN博客
5章3节:在R语言中,从实际应用的角度认识假设检验-CSDN博客
5章4节:从R语言的角度认识正态分布与正态性检验-CSDN博客
5章5节:认识方差和方差齐性检验(三种方法全覆盖)-CSDN博客
5章6节:R语言中的t检验,独立样本的t检验-CSDN博客
5章7节:单样本t检验和配对t检验-CSDN博客
5章8节:方差分析(ANOVA)及其应用-CSDN博客
5章9节:组间差异的非参数检验,Wilcoxon秩和检验和Kruskal-Wallis检验-CSDN博客
第六章:定性数据的统计描述
6章1节:定性数据的统计描述之列联表,文末有优势比计算介绍-CSDN博客
6章2节:认识birthwt数据集,EpiDisplay和Gmodels扩展包的应用-CSDN博客
6章3节:独立性检验,卡方检验,费希尔精确概率检验和Cochran-Mantel-Haenszel检验-CSDN博客
6章4节:相关关系和连续型变量的Pearson相关分析-CSDN博客
6章5节:分类型变量的Spearman相关分析,偏相关分析和相关图分析-CSDN博客
6章6节:相关图的GGally扩展包,和制表的Tableone扩展包-CSDN博客
第七章:R的传统绘图
7章1节:认识R的传统绘图系统,深度解析plot()函数和par()函数的使用-CSDN博客
7章2节:R基础绘图之散点图、直方图和概率密度图-CSDN博客
7章3节:R基础绘图之条形图和堆积条形图-CSDN博客
7章4节:饼图,箱线图和克利夫兰点图-CSDN博客
7章5节:散点矩阵图,与小提琴图、Cleveland 点图、马赛克图和等高图-CSDN博客
7章6节:用R进行图形的保存与导出,详细的高级图形输出,一文囊括大多数保存的各种问题,和如何批量保存不同情况的图形-CSDN博客
第八章:R的进阶绘图
8章1节:认识 ggplot2 扩展包,深度解析 qplot() 函数的使用-CSDN博客
8章2节:深度讲解 ggplot2 的绘图步骤,理解其核心逻辑, 和 ggplot()函数-CSDN博客
8章3节:用R来绘制医学地理图,文末有具体完整代码-CSDN博客
8章4节:维恩图的认识与应用,和使用UpSet图-CSDN博客
8章5节:用R绘制平行坐标图-CSDN博客
8章6节:雷达图及RadViz图-CSDN博客
8章7节:词云图,矩形树状图和三维散点图(更新20241024)-CSDN博客
8章8节:绘制自定义的高质量动态图和交互式动态图-CSDN博客
第九章:临床试验的统计
9章1节:初步认识临床试验(约7500字)-CSDN博客
9章2节:样本量估计的初步介绍-CSDN博客
9章3节:用R进行样本量估计的统计学参数-CSDN博客
9章4节:两组例数相同的均数比较的样本量估计和绘制功效曲线-CSDN博客
9章5节:两组的例数不等的均数比较的样本量估计和可视化-CSDN博客
9章6节:自身配对设计的均数比较临床试验的样本量估计和可视化-CSDN博客
9章7节:与总体均数比较的样本量估计和可视化-CSDN博客
9章8节: 两、三组试验组率比较的样本量估算和可视化-CSDN博客
9章9节:试验的随机分组认识,用R做简单随机化-CSDN博客
9章10节:用R实现分层随机化-CSDN博客
9章11节:用R实现区组随机化和置换区组随机化-CSDN博客
9章12节:动态随机化方法介绍,和用R绘制随机化卡片-CSDN博客
第十章:Meta分析攻略
10章1节:认识循证医学中的Meta分析,并予代码演示分析绘图-CSDN博客
10章2节:Meta分析的7大步骤的扼要解读-CSDN博客
10章3节:二分类变量的Meta分析模型,分析公式构建和结果解读-CSDN博客
10章4节:二分类变量的Meta分析模型,绘制漏斗图和应用剪补法,最后绘制和解读轮廓增强漏斗图-CSDN博客
10章5节:二分类变量的Meta分析模型,敏感性分析和亚组分析,绘制森林图-CSDN博客
10章6节:连续型变量的Meta分析和可视化分析全解-CSDN博客
10章7节:用R进行单个率Meta分析-CSDN博客
10章8节:用R进行网状Meta分析细解-CSDN博客
第十一章:主成分分析
11章1节:深度讲解用R进行主成分分析(上)-CSDN博客
11章2节:深度讲解用R进行主成分分析(中)-CSDN博客
11章3节:深度讲解用R进行主成分分析(下)-CSDN博客
11章4节:学会用R进行因子分析(上)-CSDN博客
11章5节:学会用R进行因子分析(中)-CSDN博客
11章6节:学会用R进行因子分析(下)-CSDN博客
第十二章:常见类型回归分析
12章1节:认识回归分析的历史背景及应用-CSDN博客
12章2节:构建一元和多元的线性回归模型-CSDN博客
12章3节:回归模型中哑变量的应用和设置-CSDN博客
12章4节:深度解读构建回归模型表达式的九个关键符号-CSDN博客
12章5节:深度剖析回归模型结果的相关函数-CSDN博客
12章6节:深度解读线性回归模型的绘图判断-CSDN博客
12章7节:构建因变量为分类变量的二分类Logistic回归模型-CSDN博客
12章8节:详解不同逻辑回归模型的比较,和如何进行变量优化-CSDN博客
12章9节:深度讲解有序多分类Logistic回归模型的分析-CSDN博客
12章10节:条件Logistic回归模型的分析-CSDN博客
第十三章:生存分析模型
13章1节:生存分析的基本概念和主要内容-CSDN博客
13章2节:用R进行生存率的描述与估计-CSDN博客
13章3节:生存分析的假设检验及可视化展示-CSDN博客
13章4节:认识比例风险模型和Cox比例风险模型,学会从协变量的调整选择最优模型-CSDN博客
13章5节:用逐步回归方法来选择模型协变量,比例风险假定的检验和森林图的绘制-CSDN博客
第十四章:匹配技术应用
14章1节:认识临床研究的匹配技术-CSDN博客
14章2节:匹配结果的可视化和匹配后新数据分析-CSDN博客
第十五章:判别和聚类分析
15章1节:医学研究中的判别分析和聚类分析-CSDN博客
15章2节:线性判别分析预测模型构建评估和可视化演示-CSDN博客
15章3节:二次判别分析技术的运用-CSDN博客
15章4节:K-Means聚类分析的运用,和改进算法的K-Means++-CSDN博客
15章5节:实现k-medoids聚类算法的PAM和CLARA方法-CSDN博客
15章6节:凝聚层次聚类和分裂层次聚类-CSDN博客
第十六章:机器学习入门
16章1节:机器学习和人工智能的基础知识-CSDN博客
16章2节:机器学习在临床预测中的应用场景,与临床预测模型的关键步骤解析-CSDN博客