《R语言》课程教学资源(PPT课件)第04章

第四章 数据输入输出

本章学习目标 1. 了解R语言文件夹与文件的基本操作。 2. 掌握文本格式和RData格式的输入输出。 3. 掌握xlsx格式的输入输出。 4. 了解SPSS数据文件和网页数据的读取

4.1 基本输入输出功能 在R语言中,基本的输入输出功能主要包括三种形式:键盘录入和屏幕输出、文本格式的 输入输出、自有二进制格式的输入输出。在R语言中,我们无需关注键盘录入的实现过程, 而且键盘录入数据的相关函数在实际操作中应用较少,因此本节不对其进行讲解。此外, 由于输入输出涉及到系统中文件夹和文件的查找和选择,因此本节将对R语言中文件夹和 文件的操作进行一些简单介绍

4.1 基本输入输出功能 ① setwd() # 设置工作目录 ② getwd() # 获取当前工作目录 ③ dir.exists() # 判断文件夹是否存在 ④ dir.create() # 创建新的文件夹 ⑥ list.dirs() # 显示工作目录下的所有文件夹,默认递归显示; 参数recursive = F 不递归显示 ⑦ unlink() # 直接删除文件夹,谨慎操作! ⑧ write(函数参数, file = ‘.’) # 将数据输出到文件“.”中 ⑨ file.choose() #打开对话框,选择相应文件,返回文件所在的路径 ⑩ list.files( ) # 显示工作目录下的文件和文件夹,参数recursive = T 递归显示文件 ⑪ file.remove() # 删除文件,谨慎操作! ⑫ file.rename() # 重命名文件 ⑬ print() # 指定输出的值 ⑭ cat() # 指定输出的值,只对向量进行输出 ⑮ sink() # 将屏幕输出的内容保存下来 4.1.1 - 4.1.2

4.1 基本输入输出功能 1. 工作目录 工作目录即数据分析时输入输出的一个默认文件夹。事先设置一个合适的工作目录至少有 三个好处。其一,避免保存和读取文件时反复输入相同的路径。其二,当迁移工作目录时, 可以不用大量修改程序中所涉及到的路径。其三,当多个工作同时进行时,可以方便进行 整理,以避免相互干扰。 > setwd('d:/R语言练习') #无法设置,可能是文件夹不存在 Error in setwd("d:/R语言练习") : cannot change working directory > dir.exists('d:/R语言练习') #判断文件夹是否存在 [1] FALSE > dir.create('d:/R语言练习') #不存在的话,可以新建一个 > setwd('d:/R语言练习') #设置工作目录 > getwd() #获取当前工作目录 [1] "d:/R语言练习" 4.1.1 文件夹与文件

4.1 基本输入输出功能 需要注意的是,linux系统中的路径分隔符是斜杠“/”,windows系统中的路径分隔符为反斜 杠“\”,而R语言中由于“\”具有转义的作用,因此其路径分隔符和linux系统一致。如上所示, 当在路径中采用“/”时,R语言会自动将其转换为系统能识别的符号。此外,windows系统 下也可以采用“\\”的方式分隔路径。 在实际操作过程中,为避免反复输入路径,可以设一个变量path用于保存路径,同时可以 将文件夹的判断与建立用if语句连起来。 > path='d:/R语言练习2' > if (! dir.exists(path)) dir.create(path) #注意取反 > setwd(path) > getwd() [1] "d:/R语言练习2

4.1 基本输入输出功能 在构建工作目录之后,有时还要根据需要建立不同的文件夹以分类存放文件。此时可以利 用函数dir.create()创建所需的文件夹。当需要查看工作目录下有哪些文件夹时,可使用函 数list.dirs()显示所包含的文件夹。当需要删除某个文件夹时,可使用函数unlink()对其删除。 > dir.create('数据') #创建一个名为“数据”的文件夹 > dir.create('程序') #创建一个名为“程序”的文件夹 > dir.create('程序/test1') #在文件夹“程序”下再创建一个名为“test1”的文件夹 > list.dirs() #显示工作目录下的所有文件夹,默认递归显示 [1] "." "./程序" "./程序/test1" "./数据" > list.dirs(recursive=F) #不进行递归显示 [1] "./程序" "./数据" > list.dirs('程序') #显示指定路径下的文件夹 [1] "程序" "程序/test1" > list.dirs('程序',recursive=F) #显示指定路径下的文件夹,不进行递归显示 [1] "程序/test1" > unlink('程序',recursive=T) #删除名为“程序”的文件夹 > list.dirs() [1] "." "./数据

2. 文件操作 在对输入输出的文件进行操作时,首先需要确定文件所在路径。当文件的路径较长时,手 工录入容易出错,则可以使用函数file.choose()打开文件选择对话框,直接鼠标操作选择文 件即可返回相应的路径。 4.1 基本输入输出功能 > setwd('d:/R语言练习') #设置工作目录 > dir.create('数据') #创建一个文件夹 > write(1:3,file='数据/test.txt') #输出一些数据到文件“test.txt” > file.choose() #打开对话框,选择相应的文件,即可返回文件所在路径 [1] "D:\\R语言练习\\数据\\test.txt" 此外,还可以在系统中选择相应文件或文件夹之后,直接右键复制,再粘贴在R语言的命 令行中,此时即可实现文件或文件夹路径的复制

在获取文件夹路径之后,即可利用相应的函数查看文件夹内的文件,或判断某个文件是否 存在。根据需要也可删除或重命名文件。 4.1 基本输入输出功能 #设置工作目录,并创建几个文 件夹和文件 > setwd('d:/R语言练习') > dir.create('程序') > dir.create('数据') > write(1:3,file='数据/test1.txt') > write(1:3,file='数据/test2.txt') > write(1:3,file='readme.txt') #文件夹和文件操作示例 > list.files() #显示工作目录下的文件 [1] "readme.txt" "程序" "数据" > list.files(recursive=T) #递归显示工作目录下的所有文件 [1] "readme.txt" "数据/test1.txt" "数据/test2.txt" > file.remove('数据/test1.txt') #使用函数file.remove()删除文件 [1] TRUE > unlink('数据/test2.txt') #使用函数unlink()删除文件 > list.files(recursive=T) [1] "readme.txt" > file.rename(from='readme.txt',to='说明文件.txt') #文件重命名 [1] TRUE > list.files(recursive=T) [1] "说明文件.txt" > file.exists('说明文件.txt') #判断文件是否存在 [1] TRUE

4.1 基本输入输出功能 1. 函数print()和cat() 在数据分析的过程中,当需要显示某个变量的值时,可以在命令提示符后直接键入变量的 名称即可,但在循环结构中,必须使用函数对其进行屏幕输出。 > for (i in 1:2) i # 在循环结构中,仅使用变量名无法输出变量的内容 > for (i in 1:2) print(i) # 可以使用函数print()指定输出i的值 [1] 1 [1] 2 > for (i in 1:2) cat(i) # 也可以使用函数cat()指定输出i的值 12 > for (i in 1:5) cat(i) 12345 4.1.2 屏幕输出 函数print()和cat()都可显示i的值,但二者输出格式不一样。函数print()是一个类函数,一次对一个 变量进行输出。它会根据变量的类别,调用合适的函数以相应的格式进行输出。函数cat()功能较 为简单,只能对向量进行输出。在输出时,将向量中的元素转换为字符串,并逐个字符输出
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《R语言》课程教学资源(PPT课件)第03章 R函数与流程控制.pptx
- 《R语言》课程教学资源(PPT课件)第02章 R语言基础.pptx
- 《R语言》课程教学资源(PPT课件)第01章 进入R的世界.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 《R语言》课程教学资源(PPT课件)第05章 基本图形.pptx
- 《R语言》课程教学资源(PPT课件)第06章 数据预处理.pptx
- 《R语言》课程教学资源(PPT课件)第07章 数据处理与描述性统计.pptx
