ファイルやディレクトリのパスを取得したり、操作するコマンドが収録されているパッケージの紹介です。
パッケージのバージョンは2.5.0。windows 11のR version 4.4.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("this.path")
実行コマンド
詳細はコメントやコマンドヘルプを確認してください。
# パッケージの読み込み
library("this.path")
# 現在のスクリプトファイルパスを取得:this.pathコマンド
this.path()
#[1] "C:/Users/karada/Desktop/紹介内容.R"
# 現在のスクリプトファイルのディレクトリパスを取得:this.dirコマンド
this.dir()
#[1] "C:/Users/karada/Desktop"
# パスからディレクトリ,ファイルのパスを取得:dirname2,basename2コマンド
GetpPath <- this.path()
cbind(GetpPath, dirname = dirname2(GetpPath),
basename = basename2(GetpPath))
# GetpPath dirname basename
# [1,] "C:/Users/karada/Desktop/紹介内容.R" "C:/Users/karada/Desktop" "紹介内容.R"
# 取得パスを拡張子と分割:splitextコマンド
# ".gz",".bz2",".xz"の分割可否:compressionオプション;TRUE/FALSE
splitext(this.path(), compression = FALSE)
# [,1]
# root "C:/Users/lkarada/Desktop/紹介内容"
# ext ".R
# 取得パスを拡張子と分割:splitextコマンド
# ".gz",".bz2",".xz"の除外可否:compressionオプション;TRUE/FALSE
removeext(this.path(), compression = FALSE)
# [,1]
# root "C:/Users/karada/Desktop/紹介内容"
# 取得パスから拡張子を取得:extコマンド
ext(this.path(), compression = FALSE)
# [1] ".R"
### こんな使い方:パスの拡張を入れ替える #####
path <- this.path()
ext(path, compression = TRUE) <- ".png"
path
# [1] "C:/Users/karada/Desktop/紹介内容.png"
#######
# パスを相対パスにする:relpathコマンド
relpath(this.path())
[1] "../Desktop/紹介内容.R"
# OSの種類を取得する:OS.typeコマンド
# OS.type
少しでも、あなたの解析が楽になりますように!!