This function can be used to import files exported by LimeSurvey.
ls_import_data(
sid = NULL,
path = NULL,
datafile = NULL,
dataPath = NULL,
datafileRegEx = NULL,
scriptfile = NULL,
setVarNames = TRUE,
setLabels = TRUE,
convertToCharacter = FALSE,
convertToFactor = FALSE,
categoricalQuestions = NULL,
massConvertToNumeric = TRUE,
dataHasVarNames = TRUE,
dataEncoding = "UTF-8-BOM",
scriptEncoding = NULL,
silent = limonaid::opts$get("silent")
)
The easiest way to load data is to not rename the datafile
and script file downloaded from LimeSurvey (so that both contain the Survey
Identifier, the sid
) and simply specify that sid
and the path where both
files are stored.
The path and filename of the file containing the data (comma separated values).
Path containing datafiles: this can be used to read multiple datafiles, if the data is split between those. This is useful when downloading the entire datafile isn't possible because of server restrictions, for example when the processing time for the script in LimeSurvey that generates the datafiles is limited. In that case, the data can be downloaded in portions, and specifying a path here enables reading all datafiles in one go. Use the regular expression to indicate which files in the path should be read.
The path and filename of the file containing the R script to import the data.
Whether to set variable names or labels, or convert to character or factor, using the code isolated using the specified regular expression.
Which variables (specified using LimeSurvey variable names) are considered categorical questions; for these, the script to convert the variables to factors, as extracted from the LimeSurvey import file, is applied.
Whether to convert all variables to numeric
using massConvertToNumeric
.
Whether the variable names are included as header (first line) in the comma separated values file (data file).
The encoding of the files; can be used
to override the setting in the limonaid
options (i.e. in opts
) in the
encoding
field (the default value is "UTF-8
").
Whether to be silent or verbose ('chatty').
The dataframe.
This function was intended to make importing data from LimeSurvey a bit easier. The default settings used by LimeSurvey are not always convenient, and this function provides a bit more control.
if (FALSE) {
### Of course, you need valid LimeSurvey files. This is an example of
### what you'd do if you have them, assuming you specified that path
### containing the data in 'dataPath', the name of the datafile in
### 'dataFileName', the name of the script file in 'dataLoadScriptName',
### and that you only want variables 'informedConsent', 'gender', 'hasJob',
### 'currentEducation', 'prevEducation', and 'country' to be converted to
### factors.
dat <- limonaid::ls_import_data(
datafile = file.path(dataPath, dataFileName),
scriptfile = file.path(dataPath, dataLoadScriptName),
categoricalQuestions = c('informedConsent',
'gender',
'hasJob',
'currentEducation',
'prevEducation',
'country')
);
}