R 檔案路徑用法教學 (檢查路徑、新增路徑)

內容說明

在寫 R 語言時有時要輸出檔案時則會遇到一些要新增資料夾或是檢查此路徑是否存在之類的,那應該要怎麼辦才好呢?

內容大概講述 R 對於一些路徑的使用方法

````setwd()``` 設定路徑

有時候必須要在同個資料夾中讀取大量檔案,但卻又不想每一個都設絕對路徑時,setwd 可以幫助你

舉例:假如你現在有 3 個 csv 要打開,資料在 C:/User/user 下

那我們可以透過 setwd() 來加速

1
2
3
4
setwd("C:/Users/user/Desktop")
a1 <- read.csv("./1.csv")
a2 <- read.csv("./2.csv")
a3 <- read.csv("./3.csv")

這樣 a1, a2, a3 就可以直接用相對路徑了!

getwd() 查看當前設定的路徑位置

我們可以透過 getwd() 來找出現在 R 語言的路徑位置

1
2
getwd()
#[1] "C:/Users/user/Documents"

參考來源

How can I use the command “pwd” in R to load data? by stackoverflow

file.exists() 檢查路徑是否存在

我們可以透過 file.exists() 來知道路徑是否有被存在。

1
2
file.exists("C:/Users/user/Desktop") #true
file.exists("D:/Desktop") #false

參考來源

Check existence of directory and create if doesn’t exist by stackoverflow

dir.create() 新增資料夾

我們可以透過 file.create() 來新增資料夾。

舉例:我們可以檢查桌面是否有 folder,如果沒有我們就新增資料夾

1
if(!file.exists("C:/Users/user/Desktop/folder")) dir.create("./folder")

file.path() 合併路徑

其實大致上可以用 string 來合併路徑,但是如果這份程式碼會給不同的 os 系統使用時,那使用 file.path() 可以避免 string 合併路徑時,因為路徑的樣式不同(例如 mac 與 os 路徑就不相同) 等狀況。

1
2
3
if(!file.exists( file.path("C:/Users/user/Desktop", "folder")) dir.create("folder")

#如果當前的 R console 路徑就在桌面,那可以考慮使用 getwd 替換 "C:/Users/user/Desktop"

參考來源

file.path function in R by stackoverflow

心得

紀錄我之前遇到的所有困難,這樣我之後就能夠在自己的 blog 中找到問題,避免再 google 搜尋卻遇到大量農場文章或是不相干的資料。

  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: