今天我们来看如何在 R 中读取和保存数据。
我们最先要了解的是我们的工作目录,当文件在当前目录下时我们输入文件名即可, 没有在当前目录我们就要输入数据文件的绝对路径。
# 获取工作目录
getwd()
# 设置工作目录
setwd('home/Rstudio')
R 中的 read.table() 可以方便的读取表格类的数据文件,针对数据本身的特点, 又有几个可用的变体,如read.csv()
, read.csv2()
, read.delim()
,read.delim2()
等。
那这几个函数分别适用哪些情况呢?
接下来我们具体看下如何用这些函数读取 txt 或者 csv 文件
# 读取普通表格数据
read.table(file, header = FALSE, sep = "", dec = ".")
# 读取逗号分割的 csv
read.csv(file, header = TRUE, sep = ",", dec = ".", ...)
# 读取;作为分割符的 csv
read.csv2(file, header = TRUE, sep = ";", dec = ",", ...)
# 读取 Tab 分割的数据
read.delim(file, header = TRUE, sep = "\t", dec = ".", ...)
read.delim2(file, header = TRUE, sep = "\t", dec = ",", ...)
「file」: 数据文件路径
「sep」: 分割符
「header」: 是否有表头
「dec」: 小数点的标识
# 读取当前目录下的"mtcars.txt"
my_data <- read.delim("mtcars.txt")
my_data <- read.csv("mtcars.csv")
# 通过对话框选择文件读取
my_data <- read.delim(file.choose())
my_data <- read.csv(file.choose())
# read.table read.csv 也可以读取网络文件
my_data <- read.delim("http://www.sthda.com/upload/boxplot_format.txt")
# 保存单个对象
saveRDS(my_data, file = "my_data.rds")
# 读取保存的 rds 格式文件
readRDS(file = "my_data.rds")
有时我们需要同时保存工作空间的多个文件,这时我们可以直接用 save 方法
# 保存为 RData 格式
save(data1, file = "data.RData")
# 保存多个对象到 RData 格式
save(data1, data2, file = "data.RData")
# 将数据重新加载回来
load("data.RData")
有时我们工作空间有大量画好的图,或者处理好的数据对象,一个个保存显然不是好的办法,这时我们可以 用 save.image() 保存整个工作空间,需要的时候再 load 回来:
# 保存
save.image(file = "my_work_space.RData")
# 重新加载
load("my_work_space.RData")
关于数据读写我们今天就说到这里吧,后面遇到具体情况,我们还会有针对性讲解, 百闻不如一练,赶紧打开你的 Rstudio 练习一下吧!