下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文6676字)。

4章1节:全面了解 R 中的数据预处理,通过 R 基础函数实施数据查阅_r数据预处理-CSDN博客

数据预处理是数据科学工作流中的重要环节。通过数据清洗、数据集成、数据变换和数据规约等步骤,可以显著提高数据质量,为后续的分析和建模提供坚实基础。在实际应用中,结合具体数据的特点和分析目标,选择合适的数据预处理方法,可以有效提升模型的准确性和稳定性。

一、数据预处理

二、数据预处理的主要步骤

1、数据查阅

2、数据清洗

3、数据变换

4、数据精简

三、查看数据结构

 3、使用 str() 函数

str()函数用于紧凑地显示数据集的内部结构。它提供了数据集的类型、每个变量的类型和前几个值。这有助于我们快速了解数据的基本信息。

例如,查看iris数据集的结构:

str(iris)

输出结果:

'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

我们可以看到,iris 数据集是一个 data.frame,它包含了 150 个观测样本(行)和 5 个变量(列)。每个变量都有其特定的类型和相应的前几个值。例如,Sepal.Length 属于数值型变量(num),而 Species 则是因子型变量(Factor),并且具有 3 个因子水平。

4、使用 summary() 函数

summary()函数提供了数据集的描述性统计量,包括最小值、最大值、四分位数、中位数、均值等。对于因子变量,它还提供了频数统计。这些信息对于初步了解数据的分布和特征非常有用。

例如,查看iris数据集的描述性统计量:

summary(iris)

输出结果:

  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
       Species  
 setosa    :50  
 versicolor:50  
 virginica :50  
                

从结果中,我们可以看到每个变量的基本统计信息。例如,Sepal.Length的最小值是4.3,最大值是7.9,平均值是5.843,中位数是5.8。对于Species因子变量,它包含3个水平,每个水平有50个样本,等等信息。

5、使用 dim() 和 nrow() / ncol() 函数

dim()函数用于返回数据集的维度,即行数和列数。nrow()ncol()函数分别返回数据集的行数和列数。

例如,查看iris数据集的维度,表示iris数据集有150行和5列。

> dim(iris)
[1] 150   5

查看行数:

> nrow(iris)
[1] 150

查看列数:

> ncol(iris)
[1] 5

这些函数有助于我们快速了解数据集的大小和结构。

6、使用 names() 和 colnames() / rownames() 函数

names()函数返回数据集的变量名(列名)。colnames()rownames()函数分别返回列名和行名。

例如,查看iris数据集的列名:

> names(iris)
[1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width" 
[5] "Species"   

查看行名:

rownames(iris)

> rownames(iris)
  [1] "1"   "2"   "3"   "4"   "5"   "6"   "7"   "8"   "9"   "10" 
 [11] "11"  "12"  "13"  "14"  "15"  "16"  "17"  "18"  "19"  "20" 
 [21] "21"  "22"  "23"  "24"  "25"  "26"  "27"  "28"  "29"  "30" 
 [31] "31"  "32"  "33"  "34"  "35"  "36"  "37"  "38"  "39"  "40" 
 [41] "41"  "42"  "43"  "44"  "45"  "46"  "47"  "48"  "49"  "50" 
 [51] "51"  "52"  "53"  "54"  "55"  "56"  "57"  "58"  "59"  "60" 
 [61] "61"  "62"  "63"  "64"  "65"  "66"  "67"  "68"  "69"  "70" 
 [71] "71"  "72"  "73"  "74"  "75"  "76"  "77"  "78"  "79"  "80" 
 [81] "81"  "82"  "83"  "84"  "85"  "86"  "87"  "88"  "89"  "90" 
 [91] "91"  "92"  "93"  "94"  "95"  "96"  "97"  "98"  "99"  "100"
[101] "101" "102" "103" "104" "105" "106" "107" "108" "109" "110"
[111] "111" "112" "113" "114" "115" "116" "117" "118" "119" "120"
[121] "121" "122" "123" "124" "125" "126" "127" "128" "129" "130"
[131] "131" "132" "133" "134" "135" "136" "137" "138" "139" "140"
[141] "141" "142" "143" "144" "145" "146" "147" "148" "149" "150"

其实,R语言的基本函数已经能够帮助我们很好地进行数据的查阅和初步探索。例如,通过View()函数,我们可以在类似电子表格的窗口中查看整个数据集,方便直观地浏览数据。head()tail()函数则允许我们查看数据集的前几行和后几行,有助于快速检查数据的起始和结束部分。str()函数能够紧凑地显示数据集的内部结构,包括每个变量的类型和前几个值,这对于快速了解数据的基本信息非常有用。而summary()函数则提供了数据集的描述性统计量,如最小值、最大值、四分位数、中位数和均值等,帮助我们初步了解数据的分布和特征。此外,dim()nrow()ncol()names()等函数能够快速查看数据集的维度、行列数和变量名,为我们提供了必要的元数据信息。

尽管R语言的基本函数已经非常强大,能够满足很多数据查阅和初步探索的需求,但R的真正优势在于其丰富的扩展包。这些扩展包提供了更为强大和灵活的数据处理和分析功能,使我们能够高效地处理复杂的数据分析任务。例如,dplyr包提供了一系列用于数据操作的高效函数,而ggplot2包则是一个功能强大的数据可视化工具,可以创建各种高质量的图表。此外,还有许多用于特定领域的扩展包,如生物信息学的Bioconductor、时间序列分析的xtszoo等。这些扩展包大大增强了R语言的功能,使其成为数据科学家和统计学家不可或缺的工具。在接下来的部分中,我们将详细探讨部分扩展包及其应用。

~~~~~~~

 ​​

 市面上的 R 语言培训班和书籍(包括网络上的文章或视频),由于受限于培训时间或书籍篇幅,往往难以深入探讨 R 语言在数据科学或人工智能中的具体应用场景,内容泛泛而谈,最终无法真正解决实际工作中的问题。同时,它们也缺乏针对医药领域的深度结合与讨论。为了解决这些痛点,我们推出了《用 R 探索医药数据科学》专栏。该专栏将持续更新,不仅为您提供系统化的学习内容,更致力于成为您掌握最新、最全医药数据科学技术的得力助手。

  •  每篇文章篇幅在5000字 至9000字之间。
  • 内容涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。

《用 R 探索医药数据科学》专栏目录(截止11月份23日)

第一章:认识数据科学和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博客

第二章: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节:读写RDS,CSV,TXT,Excel,SPSS、SAS、Stata、Minitab等的数据文件(更新20240807)_r语言读取rds文件-CSDN博客

2章8节:一文学会 R Markdown 的文档核心操作,切记文末有R资源的分享_r markdown文件(.rmd)-CSDN博客

2章9节:在R中应用SQL语言(更新20241217)-CSDN博客

2章10节:R的网络爬虫技术快速入门(更新20241217)-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绘图之原理逻辑分解,掌握绘图步骤(更新20241104)-CSDN博客

8章3节:ggplot2绘图之内置主题设置全解析(更新20241104)-CSDN博客

8章4节:ggplot2绘图之几何体解析(一),参考线和基准线与分布图和频数图(更新20241104)-CSDN博客

8章5节:ggplot2绘图之几何体解析(二),关系图和时间序列图与误差条和高级图形平滑曲线(更新20241104)-CSDN博客

8章6节:坐标轴须图和带状图(更新20241107)_维恩图 约翰·维恩-CSDN博客

8章7节:平行坐标图和小提琴图_r语言parallelplot绘制平行坐标图-CSDN博客

8章8节:雷达图和RadViz图-CSDN博客

8章9节:词云图和树图(更新20241106)_echarts 可以生成词云图吗-CSDN博客

8章10节:维恩图和UpSet图_ae做柱状图动态图-CSDN博客

8章11节:R的地理图绘制(更新20241104)-CSDN博客

8章12节:三维图,由三维散点图起步,引入回归模型平面,到复杂坐标和渐变色的三维曲面图(更新20241107)-CSDN博客

8章13节:网络图(知识图谱)绘制的深度解析(更新20241109)-CSDN博客

8章14节:高质量动态图和交互式动态图

8章15节:让 ggplot2 绘图进行顶级科研杂志的配色(更新20241118) 

8章16节:个性化配色的自定义颜色演示

8章17节:轻便科研绘图的tidyplots扩展包

第九章:临床试验的统计 

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博客

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章13节:分类模型的混淆矩阵评估-CSDN博客

16章14节:评估和对比预测模型的ROC曲线和AUC值-CSDN博客

16章15节:六大ROC曲线扩展包的对比,和其它评估曲线的绘制-CSDN博客

第十七章:文献计量学 

17章1节:文献计量分析基础-CSDN博客

17章2节:文献计量学的国外数据库的数据采集,WOS数据库和PUBMED数据库的文献信息批量下载和分析

17章3节:国际六大科研文献数据库的数据加载与格式转换解析

17章4节:文献计量学中数据合并、去重、切片与编辑 

17章5节:文献计量学的描述性分析

17章6节:文献计量学的可视化与引文信息分析

17章7节:作者主导性分析及H指数与其变体的应用 

17章8节:Lotka分析和知识单元时序分析

17章9节:局部被引次数分析与文献文本字段术语提取研究

17章10节:为构建网络图从文献数据中提取特定信息-CSDN博客

17章11节:文献计量分析合作情况可视化-CSDN博客

17章12节:耦合网络可视化,从常规网络图到耦合分析聚类图的深度讲解-CSDN博客

17章13节:共被引网络、历史共被引网络和共词网络的可视化-CSDN博客

​​17章14节:概念结构图,贡献度最高文献因子图和最被引用文献因子图-CSDN博客

 17章15节:文献计量学的语义地图和主题演化分析图-CSDN博客

17章16节:PubMed数据库的数据提取和可视化-CSDN博客

17章17节:文献计量中著作层面的情感分析-CSDN博客

第十八章:时间序列分析

18章1节:认识时间序列分析,创建和整理时间序列数据-CSDN博客

18章2节:深度讲解白噪音检验-CSDN博客

18章3节:认识ARIMA模型和模拟其数据,讲解平稳性检验-CSDN博客

18章4节:ACF和PACF的可视化,和识别最佳模型-CSDN博客

18章5节:如何应用SARIMA模型来进行时间序列数据的预测-CSDN博客

18章6节:Facebook 的时间序列预测的 Prophet 模型-CSDN博客

第十九章:NHANES数据库

19章1节:认识二次数据分析和NHANES数据库-CSDN博客

19章2节:下载NHANES数据并使用R进行读取-CSDN博客

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐