setupfile {DDIwR} | R Documentation |
Create setup files for SPSS, Stata, SAS and R
Description
Creates a setup file, based on a list of variable and value labels.
Usage
setupfile(
obj,
file = "",
type = "all",
csv = NULL,
recode = TRUE,
OS = "",
stringnum = TRUE,
...
)
Arguments
obj |
A data frame, or a list object containing the metadata, or a path to a data file or to a directory where such objects are located, for batch processing |
file |
Character, the (path to the) setup file to be created |
type |
The type of setup file, can be: "SPSS", "Stata", "SAS", "R", or "all" (default) |
csv |
The original dataset, used to create the setup file commands, or a path to the directory where the .csv files are located, for batch processing |
recode |
Logical, recode missing values to extended .a-.z range |
OS |
The target operating system, for the eol - end of line character(s) |
stringnum |
Logical, recode string variables to numeric |
... |
Other arguments, see Details below |
Details
When a path to a metadata directory is specified for the argument obj
,
then next argument file
is silently ignored and all created setup files
are saved in a directory called "Setup Files" that (if not already found) is
created in the working directory.
The argument file
expects the name of the final setup file being
saved on the disk. If not specified, the name of the object provided for the
obj
argument will be used as a filename.
If file
is specified, the argument type
is automatically
determined from the file's extension, otherwise when type = "all"
, the
function produces one setup file for each supported type.
If batch processing multiple files, the function will inspect all files in
the provided directory, and retain only those with the extension .R
or
.r
or DDI versions with the extension .xml
or .XML
(it will
subsequently generate an error if the .R files do not contain an object list,
or if the .xml
files do not contain a DDI structured metadata file).
If the metadata directory contains a subdirectory called "data"
or
"Data"
, it will match the name of the metadata file with the name of the
.csv
file (their names have to be exactly the same, regardless of
their extension).
The csv
argument can provide a data frame object produced by reading
the .csv
file, or a path to the directory where the .csv
files are
located. If the user doesn't provide something for this argument, the
function will check the existence of a subdirectory called data
in the
directory where the metadata files are located.
In batch mode, the code starts with the argument delim = ","
, but if
the .csv
file is delimited differently it will also try hard to find other
delimiters that will match the variable names in the metadata file. At the
initial version 0.1-0, the automatically detected delimiters include ";"
and "\t"
.
The argument OS
(case insensitive) can be either:
"Windows"
(default), or "Win"
,
"MacOS"
, "Darwin"
, "Apple"
, "Mac"
,
"Linux"
.
The end of line character(s) changes only when the target OS is different from the running OS.
Value
A setup file to complement the imported raw dataset.
Author(s)
Adrian Dusa
Examples
## Not run:
# IMPORTANT:
# make sure to set the working directory to a directory with
# read/write permissions
# setwd("/path/to/read/write/directory")
setupfile(codeBook)
# if the csv data file is available
setupfile(codeBook, csv="/path/to/csv/file.csv")
# generating a specific type of setup file
setupfile(codeBook, file = "codeBook.do") # type = "Stata" also works
# other types of possible utilizations, using paths to specific files
# an XML file containing a DDI metadata object
setupfile("/path/to/the/metadata/file.xml", csv="/path/to/csv/file.csv")
# or in batch mode, specifying entire directories
setupfile("/path/to/the/metadata/directory", csv="/path/to/csv/directory")
## End(Not run)