| getRelative | R Documentation |
Extracting relative file paths.
getRelative(path, relativeToPath)
makeRelative(files, absoluteBase)
path |
character vector or list specifying file paths |
relativeToPath |
directory against which |
files |
character vector or list specifying file paths |
absoluteBase |
base directory (as absolute path) to prepend to |
getRelative() searches path "from the right" (instead of "from the left")
and tries to reconstruct it relative to directory specified by relativeToPath.
This is useful when dealing with symlinked paths.
makeRelative() checks to see if files and normPath(absoluteBase) share a common path
(i.e., "from the left"), otherwise it returns files.
## create a project directory (e.g., on a hard drive)
(tmp1 <- tempdir2("myProject", create = TRUE))
## create a cache directory elsewhere (e.g., on an SSD)
(tmp2 <- tempdir2("my_cache", create = TRUE))
## symlink the project cache directory to tmp2
## files created here are actually stored in tmp2
prjCache <- file.path(tmp1, "cache")
file.symlink(tmp2, prjCache)
## create a dummy cache object file in the project cache dir
(tmpf <- tempfile("cache_", prjCache))
cat(rnorm(100), file = tmpf)
file.exists(tmpf)
normPath(tmpf) ## note the 'real' location (i.e., symlink resolved)
getRelative(tmpf, prjCache) ## relative path
getRelative(tmpf, tmp2) ## relative path
makeRelative(tmpf, tmp2) ## abs path; tmpf and normPath(tmp2) don't share common path
makeRelative(tmpf, prjCache) ## abs path; tmpf and normPath(tmp2) don't share common path
makeRelative(normPath(tmpf), prjCache) ## rel path; share common path when both normPath-ed
unlink(tmp1, recursive = TRUE)
unlink(tmp2, recursive = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.