首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TidyFriday 每天 5 分钟,轻轻松松上手 R 语言(六)数据读取与保存

今天我们来看如何在 R 中读取和保存数据。

工作目录

我们最先要了解的是我们的工作目录,当文件在当前目录下时我们输入文件名即可, 没有在当前目录我们就要输入数据文件的绝对路径。

代码语言:javascript
复制
# 获取工作目录
getwd()

# 设置工作目录
setwd('home/Rstudio')

读取数据

R 中的 read.table() 可以方便的读取表格类的数据文件,针对数据本身的特点, 又有几个可用的变体,如read.csv(), read.csv2(), read.delim() ,read.delim2()等。

那这几个函数分别适用哪些情况呢?

  • read.csv(): 读取数据“,”分割的 csv 文件
  • read.csv2(): 读取 “,” 作为小数点“;”作为分割符的文件
  • read.delim(): 读取 Tab 作为分割符的 txt 文件,默认情况“.”作为小数点
  • read.delim2(): 读取 Tab 作为分割符的文件,默认情况“,”作为小数点。

接下来我们具体看下如何用这些函数读取 txt 或者 csv 文件

代码语言:javascript
复制

# 读取普通表格数据
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」: 小数点的标识

  • 读取本地文件
代码语言:javascript
复制
# 读取当前目录下的"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())

  • 读取网络文件
代码语言:javascript
复制
# read.table read.csv 也可以读取网络文件
my_data <- read.delim("http://www.sthda.com/upload/boxplot_format.txt")

保存单个对象到单个文件

代码语言:javascript
复制
# 保存单个对象
saveRDS(my_data, file = "my_data.rds")

# 读取保存的 rds 格式文件
readRDS(file = "my_data.rds")

保存多个对象到单个文件

有时我们需要同时保存工作空间的多个文件,这时我们可以直接用 save 方法

代码语言:javascript
复制
# 保存为 RData 格式
save(data1, file = "data.RData")

# 保存多个对象到 RData 格式
save(data1, data2, file = "data.RData")

# 将数据重新加载回来
load("data.RData")

保存和加载整个工作空间

有时我们工作空间有大量画好的图,或者处理好的数据对象,一个个保存显然不是好的办法,这时我们可以 用 save.image() 保存整个工作空间,需要的时候再 load 回来:

代码语言:javascript
复制
# 保存
save.image(file = "my_work_space.RData")

# 重新加载
load("my_work_space.RData")

关于数据读写我们今天就说到这里吧,后面遇到具体情况,我们还会有针对性讲解, 百闻不如一练,赶紧打开你的 Rstudio 练习一下吧!

下一篇
举报
领券