数据预处理的主要步骤之 str、 summary、 dim等等
数据预处理是数据科学工作流中的重要环节。通过数据清洗、数据集成、数据变换和数据规约等步骤,可以显著提高数据质量,为后续的分析和建模提供坚实基础。在实际应用中,结合具体数据的特点和分析目标,选择合适的数据预处理方法,可以有效提升模型的准确性和稳定性。
下面内容摘录自《用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
、时间序列分析的xts
和zoo
等。这些扩展包大大增强了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博客
第四章:数据的预处理
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博客
第七章:R的传统绘图
7章1节:认识R的传统绘图系统,深度解析plot()函数和par()函数的使用-CSDN博客
7章2节:R基础绘图之散点图、直方图和概率密度图-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章9节:词云图和树图(更新20241106)_echarts 可以生成词云图吗-CSDN博客
8章10节:维恩图和UpSet图_ae做柱状图动态图-CSDN博客
8章11节:R的地理图绘制(更新20241104)-CSDN博客
8章12节:三维图,由三维散点图起步,引入回归模型平面,到复杂坐标和渐变色的三维曲面图(更新20241107)-CSDN博客
8章13节:网络图(知识图谱)绘制的深度解析(更新20241109)-CSDN博客
8章15节:让 ggplot2 绘图进行顶级科研杂志的配色(更新20241118)
第九章:临床试验的统计
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博客
第十一章:主成分分析
11章2节:深度讲解用R进行主成分分析(中)-CSDN博客
11章3节:深度讲解用R进行主成分分析(下)-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博客
第十四章:匹配技术应用
14章2节:匹配结果的可视化和匹配后新数据分析-CSDN博客
第十五章:判别和聚类分析
15章2节:线性判别分析预测模型构建评估和可视化演示-CSDN博客
15章4节:K-Means聚类分析的运用,和改进算法的K-Means++-CSDN博客
15章5节:实现k-medoids聚类算法的PAM和CLARA方法-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博客
第十七章:文献计量学
17章2节:文献计量学的国外数据库的数据采集,WOS数据库和PUBMED数据库的文献信息批量下载和分析
17章10节:为构建网络图从文献数据中提取特定信息-CSDN博客
17章12节:耦合网络可视化,从常规网络图到耦合分析聚类图的深度讲解-CSDN博客
17章13节:共被引网络、历史共被引网络和共词网络的可视化-CSDN博客
17章14节:概念结构图,贡献度最高文献因子图和最被引用文献因子图-CSDN博客
17章15节:文献计量学的语义地图和主题演化分析图-CSDN博客
17章16节:PubMed数据库的数据提取和可视化-CSDN博客
第十八章:时间序列分析
18章1节:认识时间序列分析,创建和整理时间序列数据-CSDN博客
18章3节:认识ARIMA模型和模拟其数据,讲解平稳性检验-CSDN博客
18章4节:ACF和PACF的可视化,和识别最佳模型-CSDN博客
18章5节:如何应用SARIMA模型来进行时间序列数据的预测-CSDN博客
18章6节:Facebook 的时间序列预测的 Prophet 模型-CSDN博客
第十九章:NHANES数据库

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