每天 5 分钟,轻轻松松上手 R 语言(六)

每天 5 分钟,轻轻松松上手 R 语言(六)

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

工作目录

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

1
2
3
4
5
# 获取工作目录
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 文件:

1
2
3
4
5
6
7
8
9
10
11
12
# 读取普通表格数据
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: 是否有表头,布尔值 TRUE or FALSE
dec: 小数点的标识

  • 读取本地文件:
1
2
3
4
5
6
7
# 读取当前目录下的"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())
  • 读取网络文件:
1
2
# read.table read.csv 也可以读取网络文件
my_data <- read.delim("http://www.sthda.com/upload/boxplot_format.txt")

保存单个对象到单个文件

1
2
3
4
5
# 保存单个对象
saveRDS(my_data, file = "my_data.rds")

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

保存多个对象到单个文件

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

1
2
3
4
5
6
7
8
# 保存为 RData 格式
save(data1, file = "data.RData")

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

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

保存和加载整个工作空间

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

1
2
3
4
5
# 保存
save.image(file = "my_work_space.RData")

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

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

# R

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×