6

I would like to create a new folder(newPack) in the parent folder(pathPos) of a given path(path) using R functions.

path <- "/m/home/user/unix/R/3.5/stringi"
newPack <- "stringr"

pathPos <- stringi::stri_locate_last_fixed(path, '/')[-1]
pathNew <- paste(stringi::stri_sub(path, 1, pathPos), newPack, sep = '')

dir.create(pathNew)

I could achieve this using the above code, but I strongly feel there is a better option of doing it. If you know of any, please let me know.

Prradep
  • 5,506
  • 5
  • 43
  • 84

1 Answers1

11
path <- "/foo/bar/baz"
newfolder <- "qux"
newpath <- file.path(dirname(path), newfolder)
print(newpath)
# "/foo/bar/qux"
dir.create(newpath)

Or, skipping the intermediate creation of newpath:

path <- "/foo/bar/baz"
newfolder <- "qux"
dir.create(file.path(dirname(path), newfolder))
drammock
  • 2,373
  • 29
  • 40