当前位置: 首页 > article >正文

R语言医学数据分析实践-数据读写

【图书推荐】《R语言医学数据分析实践》-CSDN博客

《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com)

R语言编程_夏天又到了的博客-CSDN博客

R编程环境的搭建-CSDN博客

在分析公共卫生数据时,数据来源和数据格式多种多样,如文本数据、Excel数据、SPSS数据以及SAS数据等。在R语言中,数据的读取和写入是数据分析处理的重要环节。R语言提供了多种方法来读取和写入不同格式的数据,包括文本文件、Excel文件、SAS数据文件等。本节将介绍常用的数据读写方法。

2.3.1  读取文件

首先是读取文本文件。read.table()函数可用于将文本数据导入R,并将数据保存为一个数据框。例如代码h<-read.table(file='文件路径', header = FALSE,  sep = "", skip = 0, nrows = -1)。其中:

  1. file:表示要读取的文本文件,路径中注意使用“\\”或“/”。
  2. sep:表示用什么分隔符分隔字段,默认以空格分隔。
  3. header:在读取数据时,决定是否将第一行数据作为变量的名称。
  4. skip:表示跳过前几行,从第几行开始读取数据。
  5. nrows:指定读取文件中的行数。

另一种常见的文本格式文件是CSV(逗号作为分隔符)文件。CSV格式是一种兼容性强的文件交换格式,在各类数据管理软件和统计软件中十分常见。read.csv()函数可用于读取CSV格式文件,该函数的用法与read. table()基本一致。为了更清晰地理解R语言数据的读取,下面来看一个示例。

假设有一个包含患者身高、体重和血压的文本文件clinical_data.txt,数据内容如下:

Patient_ID  Height  Weight  Blood_Pressure
1           170     70      120/80
2           165     65      130/85
3           180     80      140/90

通过以下代码读取该文本文件:

clinical_data <- read.table("clinical_data.txt", header = TRUE, sep = "", skip = 0, nrows = -1)

有一个包含患者年龄、性别和诊断的CSV文件clinical_data.csv,数据内容如下:

Patient_ID Age Gender Diagnosis
1 45 Male Hypertension
2 30 Female Diabetes
3 55 Male Hyperlipidemia

通过以下代码读取该CSV文件:

clinical_data <- read.table("clinical_data.csv", header = TRUE, sep = " ", skip = 0, nrows = -1)

文本文件和CSV文件的读取步骤及读取结果如图2-9所示。

图2-9

2.3.2  写入文件

在R语言中,写入文件通常使用write.table()或write.csv()等函数,具体取决于要保存的数据类型和文件格式。例如,代码“write.table(b, file = '文件路径', sep = ',', row.names = F,quote = F,append = T)”用于将数据写入文件,其函数主要参数的含义如下。

  1. sep = ',':表示用“,”作为字段分隔符。
  2. row.names = F:表示不添加行号。
  3. quote = F:表示不添加双引号。
  4. append = TRUE:表示将数据附加到文件尾,而不是覆盖文件。

为了更清晰地理解R语言数据的写入,参考以下示例:

clinical_data <- data.frame(
  Patient_ID = c(1, 2, 3),
  Age = c(45, 30, 55),
  Gender = c("Male", "Female", "Male"),
  Diagnosis = c("Hypertension", "Diabetes", "Hyperlipidemia")
)  #创建一个包含患者年龄、性别和诊断的数据框
write.csv(clinical_data, file = "clinical_data_output.csv", row.names = FALSE) #将数据框写入CSV文件

图2-10展示了创建的数据框的内容和将其写入CSV文件的过程。

图2-10

2.3.3  读写其他数据文件

R语言提供了很多功能包,用于读取其他格式的数据文件。例如,使用haven程序包中的read_spss()函数可以读取SPSS数据,read_sas()函数可以读取SAS数据,read_stata()函数可以读取Stata数据。使用这些函数可以将需要的数据导入R并转换为数据框格式。haven程序包还提供了相应的导出数据的函数,例如,write_sav()函数可以写入SPSS格式文件,write_sas()函数可以写入SAS格式文件,write_dta()函数可以写入Stata格式文件。

以下是其他类型数据读写的示例:

install.packages("haven")
library(haven)     #安装并加载haven程序包
#读取文件
data <- read_spss("clinical_data.sav")  	#读取以“.sav”为后缀的SPSS文件数据
data <- read_sas("clinical_data.sas7bdat")	#读取以“.sas7bdat”为后缀的SAS文件数据
data <- read_stata("clinical_data.dta")  	#读取以“.dta”为后缀的Stata文件数据
#写入文件
clinical_data <- data.frame(
  patient_id = c(1, 2, 3, 4, 5),
  age = c(35, 45, 50, 28, 62),
  gender = c("M", "F", "M", "F", "M"),
  diagnosis = c("Hypertension", "Diabetes", "Obesity", "Asthma", "Hyperlipidemia")
)  #创建一个示例的数据框
write_sav(clinical_data, "clinical_data.sav") #写入SPSS文件
write_sas(clinical_data, "clinical_data.sas7bdat") #写入SAS文件
write_sav(clinical_data, "clinical_data.dta") #写入Stata文件


http://www.kler.cn/news/354470.html

相关文章:

  • 构建后端为etcd的CoreDNS的容器集群(三)、etcd功能测试
  • OpenAI多智能体框架Swarm实测—基于Qwen开源模型
  • 八种经典排序算法
  • 【Linux】【Jenkins】后端maven项目打包教程-Linux版
  • 在 Android 设备上使用 Kivy 和 OpenCV 实现调用摄像头并显示实时画面
  • Flask创建流式返回的mock脚本
  • Linux 重置 root 密码
  • Flume面试整理-Flume的基本架构
  • 限流是什么?如何限流?怎么限流?
  • 如何轻松使用pip安装Git仓库中的私有Python模块(使用pip和Git仓库发布和安装私有Python模块)
  • 解决ffmpeg通过srt文件给视频添加字幕时乱码问题
  • 【2024最新版】Win10下 Java环境变量配置----适合入门小白
  • RTThread-Nano学习二-RT-Thread启动流程
  • C会赢的!(牛客周赛 Round 58)
  • 力反馈手套如何在VR培训解决方案中为用户提供沉浸式体验?
  • c++链式调用
  • 【css-在一个元素中设置font-size和实际渲染字体大小不一致】
  • CAT(Card Application Toolkit)- LSI
  • Jenkins整合Docker实现CICD自动化部署(若依项目)
  • ESP32-IDF USART 专题