下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文7833字)。
2章7节:读写RDS,CSV,TXT,Excel,SPSS、SAS、Stata、Minitab等的数据文件(更新20240807)_r语言读取rds文件-CSDN博客
一、RDS或RData格式文件
二、CSV或TXT格式
三、Excel的格式文件
Excel文件是日常工作中最常见的数据处理软件之一,虽然有时候,我们可以将EXCEL的文件转化为更加普遍的CSV格式。尽管CSV格式在数据处理和交换中非常流行,但在处理复杂的Excel文件时,例如需要保留公式、格式或多个工作表的文件,直接读取Excel文件更为方便和高效。
Excel文件通常有两种格式:.xls
和.xlsx
。.xls
是早期的Excel版本使用的格式,而.xlsx
是从Excel 2007版本开始使用的更新格式。.xlsx
格式基于XML标准,支持更大的数据容量和更复杂的格式设置。
.xls (Excel 97-2003格式) | .xlsx (Excel 2007及之后格式) | |
---|---|---|
文件扩展名 | .xls | .xlsx |
文件结构 | 二进制格式 | 基于XML的压缩文件格式 |
最大行数 | 65,536行 | 1,048,576行 |
最大列数 | 256列 | 16,384列 |
文件大小限制 | 通常较小(约2GB) | 较大(理论上无实际限制) |
支持的单元格样式 | 限制较多,样式功能较少 | 支持更多样式和格式 |
公式支持 | 支持基本公式和一些函数 | 支持更复杂的公式和更多函数 |
图表支持 | 支持基本图表 | 支持更多图表类型和图表功能 |
数据验证 | 基本的数据验证功能 | 支持复杂的数据验证和条件格式 |
跨平台兼容性 | 较差,可能需要转换为其他格式 | 更好,广泛支持于各种应用和平台 |
读取/写入支持 | 老旧版本的Excel和其他软件通常支持 | 大多数现代应用程序和库支持 |
使用环境 | 旧版Excel(2003及之前版本) | 新版Excel(2007及之后版本) |
安全性 | 较低,易受潜在风险影响 | 提供更好的数据保护和加密选项 |
openxlsx
包简介
openxlsx
包是R中用于读取、写入和格式化Excel文件的工具。与其他Excel处理包相比,openxlsx
包不依赖于Java,操作更为简洁高效,支持多种Excel格式的读写。在使用openxlsx
包之前,需要首先安装并加载该包。可以通过以下命令安装并加载openxlsx。
install.packages("openxlsx")
library(openxlsx)
要读取Excel文件中的数据,可以使用read.xlsx()
函数。这个函数允许我们将Excel文件中的数据导入到R的data.frame
中进行进一步分析。read.xlsx()
函数的基本语法如下:
read.xlsx(file, sheet = 1, colNames = TRUE, rowNames = FALSE)
file
:指定Excel文件的路径。
sheet
:指定要读取的工作表编号或名称。默认值是1,表示第一个工作表。
colNames
:逻辑值,指示是否将第一行作为列名。默认为TRUE。
rowNames
:逻辑值,指示是否将第一列作为行名。默认为FALSE。
假设我们有一个名为frmgham.xlsx
的Excel文件,其中第一个工作表包含我们需要的数据(Excel文件可以包含多个工作表,这点一定要注意)。我们可以使用以下代码将其读取到R中:
# 读取Excel文件中的第一个工作表
frmgham <- read.xlsx("frmgham.xlsx", sheet = 1)
# 查看数据框的前几行
head(frmgham)
除了读取Excel文件,openxlsx
包还支持将数据写入Excel文件。我们可以使用write.xlsx()
函数将数据框保存为Excel文件。继续使用之前读取的数据框frmgham
,我们可以将其保存为一个新的Excel文件Myfrmgham.xlsx。
# 将数据框写入新的Excel文件
write.xlsx(frmgham, "Myfrmgham.xlsx")
# 查看文件保存成功的消息
cat("数据已成功保存到 Myfrmgham.xlsx 文件中。\n")
四、其它格式文件
在数据分析和处理过程中,我们经常需要读取和写入各种不同格式的数据文件,包括由其他统计软件如SPSS、SAS、Stata、Minitab等产生的数据文件。本文将详细介绍如何在R中使用各种函数和扩展包来处理这些文件格式,帮助读者更高效地进行数据处理和分析。
一种方法是先将其他统计软件中的数据导出为文本文件,如CSV或TXT格式,然后再使用R的read.table()
或read.csv()
函数将数据读入R中。这种方法虽然简单,但可能会遇到数据格式不一致、编码出错等问题。也可以使用其它的R扩展包。
1、使用foreign
包
foreign
包提供了一套函数,用于直接读取和写入其他统计软件的数据文件,包括SPSS、SAS、Stata等。该包极大地方便了不同软件之间的数据交互,减少了数据转换的麻烦和错误。例如,对于SAS数据文件,即后缀名为.ssd的数据文件,可通过包内的read.ssd()
函数来读取。对于SPSS数据文件,即后缀名为.sps的数据文件,可通过包内的read.spss()
函数来读取。对于Stata数据文件,即后缀名为.dta的数据文件,可使用foreign
包的read.dta()
函数实现。
同样,如果我们要把数据frmgham
分别保存为SAS、SPSS和Stata数据文件,可使用以下代码,生成文件,并把相关文件分别保存在工作目录文件下(如果需要保存到其它的位置,可以设置文件的路径)。
# 加载foreign包
library(foreign)
# 保存为SPSS文件
write.foreign(frmgham, "frmgham2.txt", "frmgham2.sps", package = "SPSS")
# 保存为SAS文件
write.foreign(frmgham, "frmgham2.txt", "frmgham2.sas", package = "SAS")
# 保存为Stata文件
write.foreign(frmgham, "frmgham2.txt", "frmgham2.dta", package = "Stata")
其它格式文件读取的汇总
文件格式 | 使用的函数 | R扩展包 |
---|---|---|
ERSI ArcGIS | read.shapefile | shapefiles |
Matlab | readMat | R.matlab |
Minitab | read.mtp | foreign |
SAS(.ssd) | read.ssd | foreign |
SAS(.xport) | read.xport | foreign |
SPSS | read.spss | foreign |
Stata | read.dta | foreign |
Systat | read.systat | foreign |
# 1.1 SPSS文件 (.sav)
# 安装和加载foreign包
install.packages("foreign")
library(foreign)
# 读取SPSS数据文件
data_spss <- read.spss("data.sav", to.data.frame = TRUE)
# 1.2 SAS文件 (.sas7bdat, .xpt)
# 读取SAS数据集文件
data_sas <- read.ssd("data.ssd")
# 读取SAS传输文件
data_xport <- read.xport("data.xpt")
# 1.3 Stata文件 (.dta)
# 读取Stata数据文件
data_stata <- read.dta("data.dta")
# 1.4 Minitab文件 (.mtp)
# 读取Minitab数据文件
data_minitab <- read.mtp("data.mtp")
# 1.5 Matlab文件 (.mat)
# 安装和加载R.matlab包
install.packages("R.matlab")
library(R.matlab)
# 读取Matlab数据文件
data_matlab <- readMat("data.mat")
# 1.6 ERSI ArcGIS文件
# 安装和加载shapefiles包
install.packages("shapefiles")
library(shapefiles)
# 读取shapefile
data_shapefile <- read.shapefile("data.shp")
# 1.7 Systat文件
# 读取Systat数据文件
data_systat <- read.systat("data.sys")
# 1.8 R.matlab文件
# 安装和加载R.matlab包
install.packages("R.matlab")
library(R.matlab)
# 读取Matlab数据文件
data_matlab <- readMat("data.mat")
2、小提示
如果您正在使用苹果的 MAC 相关系统,那么必然会接触到 iCloud 服务等。然而,当处理大量数据资源,尤其是涉及隐私或机密信息时,您或许并不愿意将所有文件都上传至云存储服务(如 iCloud)。在 Mac 电脑中,存在众多文件夹可能存有大量敏感或庞大的数据,您可能期望能够有选择地将部分文件上传至云端,以此保障安全性以及实现存储空间的有效管理。要达成这一目标,您能够运用一种简便的方式:命名的方式。
~~~~~~~~~~
你是否想系统地学习R语言知识?无论你是医药行业的本科生、研究生,还是正在从事医药类数据科学、机器学习或人工智能的专业人士,我们的专栏将为你提供最前沿的知识和实践技巧。通过订阅,你可以获取丰富的R语言教程、医药数据分析实战案例,以及在医学领域中的机器学习和人工智能应用。欢迎加入我们,一起提升科研技能,走在学术和行业的前沿!
- 《用 R 探索医药数据科学》专栏会持续更新!
- 每篇文章篇幅长达 5000 字以上,专栏已更新超过 100 篇文章,超50万字。
- 内容将会涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。
- 随着章节的逐步完成,折扣力度会逐渐降低。所以,当下正是订阅此专栏的最佳时机!
https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482
第一章:认识数据科学和R
1章1节:数据科学的发展历程,何 R 备受青睐及我们专栏的独特之处(更新20240822)-CSDN博客
1章2节:关于人工智能、机器学习、统计学连和机器学习、R 与 ChatGPT 的探究 (更新20240814)-CSDN博客
1章3节:R 语言的产生与发展轨迹(更新2024/08/14)-CSDN博客
1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演示(更新20240814)-CSDN博客
第二章:R的安装和数据读取
2章1节:R和RStudio的下载和安装(Windows 和 Mac)_rst语言选择哪个镜像-CSDN博客
2章2节:RStudio 四大区应用全解,兼谈 R 的代码规范与相关文件展示_rstudio的console和terminal-CSDN博客
2章3节:RStudio的高效使用技巧,自定义RStudio环境(更新20240823)_rstudio如何使用-CSDN博客
2章4节:用RStudio做项目管理,静态图和动态图的演示,感受ggplot2的魅力-CSDN博客
2章5节:认识和安装R的扩展包,什么是模糊搜索安装,工作目录和空间的区别与设置(更新20240807 )-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 的绘图步骤,理解其核心逻辑, 和 ggplot()函数-CSDN博客
8章3节:用R来绘制医学地理图,文末有具体完整代码-CSDN博客
8章4节:维恩图的认识与应用,和使用UpSet图-CSDN博客
8章8节:绘制自定义的高质量动态图和交互式动态图-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博客
第十四章:匹配技术应用