下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文7833字)。
2章7节:读写RDS,CSV,TXT,Excel,SPSS、SAS、Stata、Minitab等的数据文件(更新20240807)_r语言读取rds文件-CSDN博客
一、RDS或RData格式文件
在R语言中,数据存储和读取是数据分析工作的重要环节。R提供了两种原生格式用于存储数据:RDS和RData格式。这两种格式在R语言环境中非常有用,因为它们能够高效地存储和读取数据,同时保持数据的完整性和特定结构。如果不考虑数据的可移植性,并且数据处理过程中只使用R,推荐直接使用这两种格式进行数据的读写操作。
RDS格式用于存储单个R对象,如数据框、列表或模型等。由于其采用二进制格式进行存储,RDS文件的大小通常较小,并且在读取时可以保留对象的完整结构和属性信息。
RDS格式的一个重要优势是可以在读取时将对象重新赋予不同的名称,这使得在同一R会话中处理多个版本的数据或模型变得更加灵活。尽管RDS文件在保存和读取过程中可能稍微慢一些,但其高效的存储方式和灵活的命名能力使其在数据科学中非常受欢迎。
下面是比较XLS(EXCEL)、CSV、RDS和RData格式的表格:
XLS | CSV | RDS | RData | |
---|---|---|---|---|
存储对象数量 | 多个工作表中的多个对象 | 单个数据集 | 单个对象 | 多个对象 |
是否保留原始结构和属性 | 是 | 否 | 是 | 是 |
文件大小 | 大 | 较大 | 小 | 较大 |
读取速度 | 较慢 | 较慢 | 快 | 快 |
灵活性 | 中 | 高 | 高 | 中 |
覆盖已有变量风险 | 否 | 否 | 否 | 是 |
压缩 | 否 | 否 | 是 | 否 |
常见使用软件 | Excel, R, Python | Excel, R, Python | R | R |
当数据处理过程完全依赖于R语言,并且不需要将数据传递到其他平台时,直接使用RDS或RData格式来读写数据是一个高效且可靠的选择。这两种格式不仅能够保证数据的紧凑性和读取速度,还能够完整地保留R特有的数据结构和属性信息,从而提高数据处理的效率和准确性。
先生成数据集 data_list
,它是一个包含多种数据类型的列表,具有三个主要部分:一个数据框 df
,其中包含两列数据,一列是从1到5的整数,另一列是字母 a
到 e
;一个数值向量 vec
,包含五个数值;以及一个3x3的矩阵 matrix
,其元素从1到9。这个数据集展示了R中不同数据结构的使用,包括数据框、向量和矩阵,适合用来进行各种数据处理和分析操作,如下面代码。
# 生成一组示例数据
data_list <- list(
df = data.frame(a = 1:5, b = letters[1:5]), # 创建一个数据框,包含两列
vec = c(10, 20, 30, 40, 50), # 创建一个数值向量
matrix = matrix(1:9, nrow = 3) # 创建一个3x3的矩阵
)
# 将数据保存为RData格式
save(data_list, file = "data_list.RData")
# 将数据保存为RDS格式
saveRDS(data_list, file = "data_list.rds")
上面涉及几个函数,这个说明一下。
1)
data.frame()
函数用于创建一个数据框,它是用于存储表格数据的基本数据结构。在代码中,我们用它创建了一个包含两列的数据框,其中一列包含整数,另一列包含字母。这个数据框被存储在一个列表data_list
中。2)
save()
函数用于将一个或多个R对象保存到RData格式的文件中。RData格式能够保存多个对象并保留其原始结构和属性。在代码中,我们使用save()
函数将data_list
列表保存为一个名为data_list.RData
的文件,这样可以在以后恢复这个数据列表。3)
saveRDS()
函数用于将单个R对象保存为RDS格式的文件。RDS格式专为存储单个对象设计,并允许在读取时将对象赋予新的名称。在代码中,我们使用saveRDS()
函数将data_list
保存为名为data_list.rds
的文件,这种格式适合于在需要时重新加载数据并为其指定不同的变量名。
然后读取数据
# 从RDS文件读取数据
data_list_rds <- readRDS("data_list.rds")
print("数据从RDS文件读取:")
print(data_list_rds)
在这段代码中,
readRDS()
函数用于从名为data_list.rds
的RDS文件中读取数据,并将其赋值给变量data_list_rds
。这个函数专门用于读取RDS格式的文件,能够恢复保存的单个R对象。随后,print()
函数被用来显示从RDS文件中读取的数据,以便用户检查和验证数据的内容。通过这些函数,用户可以方便地加载和查看之前保存的数据。
~~~~~~~~~~
随着数据科学行业的迅速发展,工具的种类和使用方法层出不穷,传统的纸质R语言教材由于篇幅限制和出版审核的繁琐程序,难以及时涵盖最新的技术动态和复杂应用场景。此外,市面上虽有不少R语言免费视频,但大多仅面向初学者,缺乏对如医药等复杂领域的深入探讨。为了解决这些问题,我们在CSDN论坛推出了《用R 探索医药数据科学》专栏。这一专栏将持续更新,不仅是一份教材,更是你掌握最新、最全医药数据科学的得力助手。我们为你精心整理了领域内的深度资料,提供专业且实战导向的内容,帮助你高效提升研究能力,加快医药数据科学领域科研成果的产出。
- 《用R 探索医药数据科学》专栏会持续更新。
- 每篇文章篇幅在5000字 至9000字之间。
- 专栏已更新超过 110篇文章,超60万字。
- 内容涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。
https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482
《用R探索医药数据科学》目录
(鉴于专栏处于持续更新状态,请自行查阅最新文章)
第一章:认识数据科学和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与数据库连接和网络爬虫,学会在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博客
第四章:数据的预处理
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节:维恩图和UpSet图的认识与绘制_维恩图 约翰·维恩-CSDN博客
8章7节:绘制平行坐标图_r语言parallelplot绘制平行坐标图-CSDN博客
8章8节:雷达图及RadViz图_radviz雷达图-CSDN博客
8章9节:词云图,矩形树状图和三维散点图(更新20241024)_echarts 可以生成词云图吗-CSDN博客
8章10节:R的地理图绘制(更新20241104)-CSDN博客
8章11节:高质量动态图和交互式动态图_ae做柱状图动态图-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博客
第十一章:主成分分析
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博客