下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容。
1)栏目后续章节的文章将深入概括R语言在临床研究和新药创新领域的应用,填补了国内R教材中尚未广泛覆盖的部分内容。
2)专栏每篇文章都在 5000 字以上,质量平均分高达 94 分。已发表章节也会增加新的文章,已发表的文章也会更新版本,可留意专栏内容和题目信息。
3)由于每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!看全文请点击下面链接。
欢迎订阅我们专栏
.......前面部分请点击上面链接看原文(原文7833字)
一、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 探索医药数据科学》专栏。该专栏每周至少会定期更新三篇,直到整个专栏更新完成。每篇文章都在 5000 字以上,质量平均分高达 94 分。还要提醒大家的是,每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!
专栏《用R 探索医药数据科学》链接:https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482