我希望根據任何標準符號來獲取R中文件的全限定名。例如:R中的完全限定文件名
- file.ext
- 〜/ file.ext(這種情況下可以通過
path.expand
處理) - ../current_dir/file.ext
- 等
完全限定文件名稱,例如,我是說(在類Unix系統上):
/home/user/some/path/file.ext
(編輯 - 使用file.path並嘗試Windows的支持)粗的實現可能是:
path.qualify <- function(path) {
path <- path.expand(path)
if(!grepl("^/|([A-Z|a-z]:)", path)) path <- file.path(getwd(),path)
path
}
然而,我'd理想上喜歡跨平臺的東西,可以用../
,符號鏈接等方式處理相對路徑。只有R的解決方案將是首選的(而不是shell腳本或類似的),但是我找不到任何直接的方法來做到這一點,編碼「從頭開始」。
任何想法?
非常好,它甚至取消了引用符號鏈接 - 唯一的問題是它似乎沒有涵蓋'〜/ file.ext'的情況。使用'normalizePath(path.expand(filename))'很容易解釋。非常感謝。 – daveslanted 2011-04-19 17:08:22
@daveslanted它在R 2.13.0中有。看到我更新的答案。你跑哪個版本的R? – 2011-04-19 17:11:04
2.12.2。我可能不得不堅持現在的解決方法而不是升級,但很高興知道它已在最新的穩定版本中得到修復。再次感謝。 – daveslanted 2011-04-19 17:15:29