1.7 文件路径

我们读取数据时都是读取某路径下的某文件,但是由于系统等原因,路径在不同系统下的表示方式不一致。

1.7.1 指定路径

  • win 路径

windows 系统:C:\Users\zhongyf\Desktop\Rbook,注意路径中是一个反斜杠\。

win-path

在R中读取时需要用一个正斜杠或两个反斜杠,建议用正斜杠。

readr::read_csv('C:/Users/zhongyf/Desktop/Rbook/data/flights.csv')
readr::read_csv('C:\\Users\\zhongyf\\Desktop\\Rbook\\data\flights.csv') # same above
readr:::read_csv(file = r"(C:\Users\zhongyf\Desktop\Rbook\data\flights.csv)") # same above

工作中,当需要读取或写入共享盘4中文件时,路径表示方式为:

the_shared_disk <- r"(\\192.168.2.117\公司A-新\01事业部\)"

# 读取共享盘数据
readr::read_csv(file = "\\\\192.168.2.117\\公司A-新\\01事业部\\flights.csv")
# 或者用r"()"指定路径
readr::read_csv(file = r"(\\192.168.2.117\公司A-新\01事业部\test.csv)")

r“()”用法是R-4.0-之后的特性。在win系统下表示路径特别有用,可以避免转义。

  • mac 路径

macOS系统: /User/vega_mac/Desktop/r,路径中是一个正斜杠//。

mac-path

readr::read_csv('/User/vega_mac/Desktop/r/Rbook/data/flights.csv')

1.7.2 默认路径

在我们刚开始学习文件读写的时候,都会疑惑输出的文件到哪里去了?在 R 中有一个“当前默认工作目录”的概念,如果不做任何设置,当前默认工作目录一般在:

Windows 系统默认目录一般都是用户文件夹下的文档文件,即./zhongyf/Documents 文件夹下。

getwd()
[1] "C:/Users/zhongyf/Documents"

Macos/linxu 默认目录一般都是用户文件夹下,即 /Users/zhongyf 或者是 /home/zhongyf 文件夹下。

# Mac
getwd()
[1] "/Users/zhongyf"

# linux
getwd()
[1] "/home/zhongyf"

getwd()是查看当前工作目录的函数,在进行文件读写时的默认路径,也就是当没有明确指定路径时,文件读取输出的默认路径是getwd()。想要改变工作目录,通过设定setwd()即可。 如下所示:

# not run
setwd('C:/Users/zhongyf/Desktop/Rbook/data')

除了上述通过setwd()修改工作目录外,可以通过 Rsutdio 的 Tools 工具栏 -> Global Options -> Default working directory 设置工作目录。还可以通过 Rstudio > Session > Set Working Directory > Choose Directory 来调整【快捷键 Ctrl+Shift+H 】。修改工作目录后,通过getwd()查看修改是否生效。

关于文件路径,我个人喜欢的解决办法是通过 File > New Project > New Directory 新建文件项目,将本次所有的数据需求放在该新建的文件夹下,那我们在做本次项目时就再也不用理会文件路径问题了,因为所有的默认路径都是刚新建的路径。这种项目管理的方法,我个人比较推崇。

配上项目说明 Readme 文件,配合 git 做项目版本控制,方便我们后期查阅回溯。


  1. 共享盘的地址即某电脑(服务器)的地址,知道共享盘在局域网中的ip地址后在 开始->运行中输入\192.168.1.247即可打开共享盘。↩︎