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文件
相关推荐
数据小爬虫@30 分钟前
利用Python爬虫获取淘宝店铺详情
开发语言·爬虫·python
穆友航39 分钟前
PDF内容提取,MinerU使用
数据分析·pdf
高 朗41 分钟前
【GO基础学习】基础语法(2)切片slice
开发语言·学习·golang·slice
寒笙LED1 小时前
C++详细笔记(六)string库
开发语言·c++·笔记
IT书架1 小时前
golang面试题
开发语言·后端·golang
初遇你时动了情1 小时前
uniapp 城市选择插件
开发语言·javascript·uni-app
EterNity_TiMe_2 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
zongzi_4942 小时前
二次封装的天气时间日历选择组件
开发语言·javascript·ecmascript
kikyo哎哟喂2 小时前
Java 代理模式详解
java·开发语言·代理模式
duration~2 小时前
SpringAOP模拟实现
java·开发语言