mv {crunch} | R Documentation |
Functions to manipulate variables' or project's folder structure
Description
Variables in Crunch datasets are organized into folders, like in a file
system. Datasets are similarly organized into hierarchical Projects.
These functions allow you to create new folders and move objects into
folders. Their names, mv
and mkdir
, suggest their Unix file utility
inspiration.
Usage
mv(x, what, path)
mkdir(x, path)
Arguments
x |
A |
what |
A Variable, selection of variables from |
path |
A character "path" to the folder: either a
vector of nested folder names or a single string with nested folders
separated by a delimiter ("/" default, configurable via
|
Details
The functions have some differences from the strict behavior of their Unix
ancestors. For one, they work recursively, without additional arguments:
mkdir
will make every directory necessary to construct the requested path,
even if all parent directories didn't already exist; and mv
doesn't
require that the directory to move to already exist—it will effectively
call mkdir
along the way.
Value
x
, with the folder at path
guaranteed to be created, and for
mv
, containing what
moved into it.
See Also
cd()
to select a folder by path; rmdir()
to delete a folder;
folder()
to identify and set an object's parent folder;
base::dir.create()
if you literally want to create a directory in your local file system, which
mkdir()
does not do
Examples
## Not run:
ds <- loadDataset("Example survey")
ds <- mv(ds, c("gender", "age", "educ"), "Demographics")
ds <- mkdir(ds, "Key Performance Indicators/Brand X")
# These can also be chained together
require(magrittr)
ds <- ds %>%
mv(c("aware_x", "nps_x"), "Key Performance Indicators/Brand X") %>%
mv(c("aware_y", "nps_y"), "Key Performance Indicators/Brand Y")
# Can combine with cd() and move things with relative paths
ds %>%
cd("Key Performance Indicators/Brand X") %>%
mv("nps_x", "../Net Promoters")
# Can combine with folder() to move objects to the same place as something else
ds %>% mv("nps_y", folder(ds$nps_x))
# Now let's put ds in a Project
projects() %>%
mv(ds, "Brand Tracking Studies")
## End(Not run)