下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文5665字)。
4章5节:数据科学中的缺失值的处理,删除和填补的选择,K最近邻填补法_删除缺失值与填补缺失值-CSDN博客
在数据分析与处理的进程当中,缺失值(NA 值)属于一个屡见不鲜的问题。缺失值的出现会对数据分析的精确性造成影响,故而在展开数据分析工作之前,妥善处理好缺失值显得极为关键。此文将阐述如何应对所出现的缺失值。
一、缺失值删除
二、缺失值填补
下面介绍三种常见的数据填补方法,并以iris
数据集为例进行详细说明。
1、 单一填补法
单一填补法(Single Imputation)是一种常见的缺失值处理方法,它通过为每个缺失值分配一个替代值,进而对填补后的数据集进行分析。单一填补法是缺失值处理中的一种简单方法。它的核心思想是用一个固定的值来填补缺失的数据点。这样做的优点是方法简单易行,计算成本低。然而,单一填补法也有其局限性,因为填补值可能无法准确反映缺失数据的真实情况,进而可能对数据分析结果产生一定的偏差。
它包括“0”填补、均值填补、中位数填补和K最近邻填补法,并通过代码示例说明如何应用这些方法。
“0”填补
流行病学的调查数据必然会出现缺失值,然而其中有一些属于正常状况下的 NA 。举例来说,在流行病调查问卷的原始数据里,关于女性月经的“初潮时间”常常存在缺失,其原因在于男性会针对这个问题进行问卷题目的跳转;所以,为了不让数据的整体分析受到干扰,我们可以使男性患者的 NA 等同于数值“0”就行。
我们能够通过以下代码把原 iris_miss 的缺失值替换为 0,进而创建新的数据集 irismi0 。
irismi0 <- iris_miss
irismi0[is.na(irismi0)] <- 0
均值填补
均值补法是利用数据集中的观测值依据需求进行计算所得到的数值来进行填补,此方法也被称作均值填补法。均值填补通常存在两种方式:条件均值填补和非条件均值填补。
条件均值和非条件均值。条件均值填补依赖辅助信息,依照特性接近相似的原则对整个数据集进行分层,之后运用每层相应的响应来填补缺失值。非条件均值填补指的是针对所有的缺失值,运用整个数据集观测值的均值予以填补。不管是哪种均值填补法,通常都会致使响应值的方差和标准差变小,一般仅适用于简单缺失的描述性研究。
# 均值填补
iris_miss1 <- iris_miss
mean_value <- mean(iris_miss1$Sepal.Length, na.rm = TRUE)
iris_miss1$Sepal.Length[is.na(iris_miss1$Sepal.Length)] <- mean_value
# 计算填补后的数据与原始数据的差异
summary((iris$Sepal.Length - iris_miss1$Sepal.Length) / iris$Sepal.Length)
结果可见:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.218247 0.000000 0.000000 -0.001354 0.000000 0.164631
以 iris_miss 数据集的“Sepal.Length”为例,首先计算忽略缺失值后的“Sepal.Length”均值 约为 5.85(mean_value:5.847586) ,随后使用忽略缺失值后的均值替换该变量中的缺失值。最后对补全后的数据与原始数据的差异进行检查,并计算偏差,补全后的平均偏差不到 0.14%,最大偏差大约为±16.46% 。
- 最小值(Min.):-0.2182 表示最小偏差。
- 最大值(Max.):0.1646 表示最大偏差。
- 均值(Mean):-0.0014 表示填补后的数据与原始数据的平均偏差。
在某个研究中,如果数据集中存在大量简单缺失值,且对数据的精确性要求不是特别高,就可以考虑使用均值填补法来处理这些缺失值,以保证研究能够继续进行。但需要注意的是,这种方法可能会在一定程度上影响数据的原始特征。
市面上的 R 语言培训班和书籍(包括网络上的文章或视频),由于受限于培训时间或书籍篇幅,往往难以深入探讨 R 语言在数据科学或人工智能中的具体应用场景,内容泛泛而谈,最终无法真正解决实际工作中的问题。同时,它们也缺乏针对医药领域的深度结合与讨论。为了解决这些痛点,我们推出了《用 R 探索医药数据科学》专栏。该专栏将持续更新,不仅为您提供系统化的学习内容,更致力于成为您掌握最新、最全医药数据科学技术的得力助手。
- 每篇文章篇幅在5000字 至9000字之间。
- 内容涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。
《用 R 探索医药数据科学》专栏的学习指南
重新整理《用 R 探索医药数据科学》专栏目录形成学习的目的是为读者梳理出一个清晰、系统的知识脉络。通过将内容划分为工具使用、常规技术、可视化等八大板块,能让读者快速定位到所需知识领域,直观把握不同章节间的逻辑关系与递进层次。这有助于初学者构建完整的知识体系,有步骤地开启学习之旅;也方便进阶者迅速检索特定技术内容,进行深入研究与实践,提升了专栏内容的可读性与实用性。
第一部分:介绍和工具的使用(专栏问答和第一、二和二十二章)
专栏问答
专栏问答:管理和选择不同的R,如何做好R的笔记,使用 openxlsx 包(更新20240822)_rstudio不同的r-CSDN博客
专栏问答:R 语言扩展包安装出问题?解决方案详细来教你(更新20250128)-CSDN博客
专栏问答:到底什么是综述,如何写好综述,如何进行文献搜索?(更新20250217)-CSDN博客
专栏问答:如何更精确地进行文献搜索(更新20250217)-CSDN博客
专栏问答:公共数据库发表能发表国际学术期刊吗?能够成为本硕博的毕业论文主要研究吗?以NHANES数据库为例-CSDN博客
第一章:认识数据科学和R
1章1节:医药数据科学的历程和发展,用R语言探索数据科学(更新20241029)-CSDN博客
1章2节:机器学习、统计学与ChatGPT的概述,与R语言的相关 (更新20241229)_ai、chatgpt和机器学习什么关系-CSDN博客
1章3节:R 语言的产生与发展轨迹(更新2024/08/14)-CSDN博客
1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演示(更新20240814)-CSDN博客
1章5节:学会数据分析基础和流程,开始人工智能数据分析师之路-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的扩展包管理(从模糊安装到自动更新)及工作目录和工作空间的设置(更新20241030 )-CSDN博客
2章6节:R的数据集读取和利用,如何高效地直接复制黏贴数据到R(20240807 )_r语言 复制数据集-CSDN博客
2章7节:用R读写RDS、RData、CSV和TXT格式文件(更新20250129)
2章8节:用R读写Excel、SPSS、SAS、Stata和Minitab等产生的数据文件(更新20250129)
2章9节:在R中应用SQL语言(更新20241217)_r语言与数据库-CSDN博客
2章10节:R的网络爬虫技术快速入门(更新20241217)_如何用r分析inhanes数据库-CSDN博客
第二十二章:文档和课件输出
22章1节:用R写作,先认识 NoteBook 和 Markdown-CSDN博客
22章2节:如何在 R Markdown 和 R Notebook 中创建使用-CSDN博客
22章3节:R Markdown的创建详解和直接使用学术期刊和出版社的模板-CSDN博客
22章4节:R Markdown 的文档开头(YAML),从基础到扩展包-CSDN博客
22章5节: Markdown 的标题、列表、字词和链接-CSDN博客
22章6节:R Markdown 的代码块、绘图与数学公式解析-CSDN博客
22章7节:Knit 的文档生成,和多文档流程的集合应用-CSDN博客
22章8节:HTML Widgets,将 JavaScript 可视化库封装成 R 函数-CSDN博客
22章9节:使用 R Markdown 和 Shiny 结合R语言进行数据报告和交互式应用的创建-CSDN博客
第二部分:常规的分析技术(第三、四、五、六、十二和十三章)
第三章:认识数据
3章1节:数据的基本概念以及 R 中的数据结构、向量与矩阵的创建及运算-CSDN博客
3章2节:继续讲R的数据结构,数组、数据框和列表-CSDN博客
3章3节:R的赋值操作与算术运算_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章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博客
第十二章:常见类型回归分析
12章4节:深度解读构建回归模型表达式的九个关键符号-CSDN博客
12章7节:构建因变量为分类变量的二分类Logistic回归模型-CSDN博客
12章8节:详解不同逻辑回归模型的比较,和如何进行变量优化-CSDN博客
12章9节:深度讲解有序多分类Logistic回归模型的分析-CSDN博客
12章10节:条件Logistic回归模型的分析-CSDN博客
第十三章:生存分析模型
13章4节:认识比例风险模型和Cox比例风险模型,学会从协变量的调整选择最优模型-CSDN博客
13章5节:用逐步回归方法来选择模型协变量,比例风险假定的检验和森林图的绘制-CSDN博客
第三部分:数据可视化技术(第七、八、二十和二十一章)
第七章:R的传统绘图
7章1节:认识R的传统绘图系统,深度解析plot()函数和par()函数的使用-CSDN博客
7章2节:R基础绘图之散点图、直方图和概率密度图-CSDN博客
7章5节:R基础绘图之Cleveland 点图,马赛克图和等高图(更新20250102)_散点矩阵图-CSDN博客
7章6节:用R进行图形的保存与导出,详细的高级图形输出,一文囊括大多数保存的各种问题,和如何批量保存不同情况的图形-CSDN博客
第八章:R的进阶绘图
8章1节:认识 ggplot2 扩展包,深度解析 qplot() 函数的使用-CSDN博客
8章2节:ggplot2绘图之原理逻辑分解,掌握绘图步骤(更新20241104)-CSDN博客
8章3节:ggplot2绘图之内置主题设置全解析(更新20241104)-CSDN博客
8章4节:ggplot2绘图之几何体解析(一),参考线和基准线与分布图和频数图(更新20241104)-CSDN博客
8章5节:ggplot2绘图之几何体解析(二),关系图和时间序列图与误差条和高级图形平滑曲线(更新20241104)-CSDN博客
8章6节:ggplot2绘图之统计变换与位置调整(更新20250111)-CSDN博客
8章7节:个性化配色的自定义颜色演示_r语言自定义颜色怎么使用-CSDN博客
8章8节:让 ggplot2 绘图进行顶级科研杂志的配色(更新20241118)_ggsci使用-CSDN博客
8章9节:坐标轴须图和带状图(更新20241107)-CSDN博客
8章10节:多样的小提琴图(更新20241231)_r语言parallelplot绘制平行坐标图-CSDN博客
8章13节:网络图(知识图谱)绘制的深度解析(更新20241109)_认知网络分析图怎么看-CSDN博客
8章14节:高质量动态图和交互式动态图_r语言数据分析动图-CSDN博客
8章15节:深度讲解词云图的绘制和改变相关的主题(更新20250106)_d3 词云图-CSDN博客
8章16节:R的地理图绘制(更新20241104)-CSDN博客
8章17节:轻便科研绘图的tidyplots扩展包_科研绘图包-CSDN博客
第二十章:基于gglot2的扩展包应用
20章1节:模型系数图、相关矩阵图、双变量成对矩阵图-CSDN博客
20章4节:绘制高级散点矩阵图和多样生存曲线图-CSDN博客
20章5节:绘制分面直方图,多元时间序列图和二元密度图-CSDN博客
20章6节:绘制切尔诺夫面图(疼痛评分的笑脸可视化)和时间序列数据的日历热图-CSDN博客
20章7节:绘制时间序列地平线图和时间序列流图-CSDN博客
20章11节:绘制议会图和深度讲解绘制山峦图(岭线图)-CSDN博客
20章12节:多元统计分析的可视化扩展包,从主成分分析到时间序列,从K-means聚类到广义线性模型-CSDN博客
第二十一章:三维图形可视化
21章2节:深度讲解如何绘制三维透视图,从内置函数到扩展包函数-CSDN博客
21章4节:绘制三维切片图和三维切片轮廓图,文末添加三维文本信息-CSDN博客
21章5节:如何绘制三维曲面图、三维球面图和三维曲面地形图-CSDN博客
21章6节:绘制三维等值面图、三维等值体素图和三维多边形图-CSDN博客
21章9节:如何将 ggplot2 对象转化为三维图形-CSDN博客
第四部分:临床试验特定技术(第九章)
第九章:临床试验的统计
9章4节:两组例数相同的均数比较的样本量估计和绘制功效曲线-CSDN博客
9章5节:两组的例数不等的均数比较的样本量估计和可视化-CSDN博客
9章6节:自身配对设计的均数比较临床试验的样本量估计和可视化-CSDN博客
9章8节: 两、三组试验组率比较的样本量估算和可视化-CSDN博客
9章9节:试验的随机分组认识,用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博客
第十七章:文献计量学
17章2节:文献计量学的国外数据库的数据采集,WOS数据库和PUBMED数据库的文献信息批量下载和分析
17章10节:为构建网络图从文献数据中提取特定信息-CSDN博客
17章12节:耦合网络可视化,从常规网络图到耦合分析聚类图的深度讲解-CSDN博客
17章13节:共被引网络、历史共被引网络和共词网络的可视化-CSDN博客
17章14节:概念结构图,贡献度最高文献因子图和最被引用文献因子图-CSDN博客
17章15节:文献计量学的语义地图和主题演化分析图-CSDN博客
17章16节:PubMed数据库的数据提取和可视化-CSDN博客
第六部分:数据驱动的分析(第十一、十四、十五和十八章)
第十一章:主成分分析
11章2节:深度讲解用R进行主成分分析(中)-CSDN博客
11章3节:深度讲解用R进行主成分分析(下)-CSDN博客
第十四章:匹配技术应用
14章2节:匹配结果的可视化和匹配后新数据分析-CSDN博客
第十五章:判别和聚类分析
15章2节:线性判别分析预测模型构建评估和可视化演示-CSDN博客
15章4节:K-Means聚类分析的运用,和改进算法的K-Means++-CSDN博客
15章5节:实现k-medoids聚类算法的PAM和CLARA方法-CSDN博客
第十八章:时间序列分析
18章1节:认识时间序列分析,创建和整理时间序列数据-CSDN博客
18章3节:认识ARIMA模型和模拟其数据,讲解平稳性检验-CSDN博客
18章4节:ACF和PACF的可视化,和识别最佳模型-CSDN博客
18章5节:如何应用SARIMA模型来进行时间序列数据的预测-CSDN博客
18章6节:Facebook 的时间序列预测的 Prophet 模型-CSDN博客
第七部分:机器学习和预测(第十六和二十三章)
第十六章:机器学习入门
16章2节:机器学习在临床预测中的应用场景,与临床预测模型的关键步骤解析-CSDN博客
16章3节:详析训练数据集、测试数据集和验证数据集及其划分策略-CSDN博客
16章4节:采用随机抽样法和等比抽样法对数据集进行二份及三份的划分-CSDN博客
16章5节:划分数据的多次随机抽样的Bootstrap法和加权随机抽样法-CSDN博客
16章6节:交叉验证概述与分类,R中K折交叉验证的详细解析-CSDN博客
16章7节:机器学习算法解读,与数值预测回归模型构建-CSDN博客
16章8节:朴素贝叶斯分类预测模型,从构建、解析到实战-CSDN博客
16章9节:认识决策树,构建CART算法的决策树模型-CSDN博客
16章10节:深度解析如何构建随机森林算法预测模型-CSDN博客
16章11节:构建人工神经网络反向传播算法预测模型-CSDN博客
16章12节:认识机器学习的模型评估,掌握数值型数据的模型评估方法-CSDN博客
16章14节:评估和对比预测模型的ROC曲线和AUC值-CSDN博客
16章15节:六大ROC曲线扩展包的对比,和其它评估曲线的绘制-CSDN博客
第二十三章:抽样与重抽样技术
23章2节:模型抽样,调查抽样和抽样技术的专业术语-CSDN博客
23章3节:总群体的统计量和抽样方法在医药研究中的应用-CSDN博客
23章7节:简单随机抽样及其在R语言中的实现与验证-CSDN博客
23章8节:系统性随机抽样及其在R语言中的实现与验证-CSDN博客
23章9节:分层随机抽样及其在R语言中的实现与验证-CSDN博客
23章10节:聚类抽样及其在R语言中的实现与验证-CSDN博客
23章11节:自助抽样及其在R语言中的实现与验证-CSDN博客
第八部分:公共数据库挖掘技术(第十九章)
第十九章:NHANES数据库
19章1节:认识二次数据分析和NHANES数据库-CSDN博客
19章2节:下载NHANES数据并使用R进行读取-CSDN博客
19章3节:NHANES数据的下载读取、追加和合并-CSDN博客
19章4节:NHANES的抽样权重、方差估计和估计值评估-CSDN博客
19章5节:处理NHANES数据的options和svydesign函数-CSDN博客
19章5节:处理NHANES数据的options和svydesign函数-CSDN博客
19章6节:复现NHANES的美国成人抑郁症患病率研究(上)-CSDN博客
19章7节:复现NHANES的美国成人抑郁症患病率研究(中)-CSDN博客
19章8节:复现NHANES的美国成人抑郁症患病率研究(下)-CSDN博客
19章9节:一步一步构建高效读取NHANES数据的自定义函数-CSDN博客
19章10节:如何解决 NHANES 数据合并所遇原表差异问题-CSDN博客
19章11节:2025年后如何使用扩展包访问、下载和分析 NHANES 数据-CSDN博客
19章12节:如何直接显示NHANES某个变量的代码本-CSDN博客
19章13节:根据关键词检索NHANES变量和得到相关信息,并且通过指定URL直接下载数据-CSDN博客