R/detStructAddVarLabels.R
, R/detStructAddVarNames.R
, R/detStructComputeProducts.R
, and 1 more
detStructPreprocessing.Rd
These functions are used in conjunction with the
determinantStructure
family of funtions to conveniently work
with determinant structures.
detStructAddVarLabels(
determinantStructure,
varLabelDf,
varNameCol = "varNames.cln",
leftAnchorCol = "leftAnchors",
rightAnchorCol = "rightAnchors",
subQuestionCol = "subQuestions",
questionTextCol = "questionText"
)
detStructAddVarNames(determinantStructure, names)
detStructComputeProducts(determinantStructure, data, append = TRUE)
detStructComputeScales(
determinantStructure,
data,
append = TRUE,
separator = "_"
)
The determinantStructure
object.
The variable label dataframe as generated by the
processLSvarLabels
in the userfriendlyscience
package. It is also possible
to specify a 'homemade' dataframe, in which case the column names have to
specified (see the next arguments).
The name of the column of the varLabelDf
that
contains the variable name. Only needs to be changed from the default value
if varLabelDf
is not a dataframe as produced by
processLSvarLabels
.
The name of the column of the varLabelDf
that
contains the left anchor. Only needs to be changed from the default value if
varLabelDf
is not a dataframe as produced by
processLSvarLabels
.
The name of the column of the varLabelDf
that
contains the right anchor. Only needs to be changed from the default value
if varLabelDf
is not a dataframe as produced by
processLSvarLabels
.
The name of the column of the varLabelDf
that
contains the subquestion. Only needs to be changed from the default value if
varLabelDf
is not a dataframe as produced by
processLSvarLabels
.
The name of the column of the varLabelDf
that
contains the question text. Only needs to be changed from the default value
if varLabelDf
is not a dataframe as produced by
processLSvarLabels
.
A character vector with the variable names. These are matched
against the regular expressions as specified in the
determinantStructure
object, and any matches will be stored in
the determinantStructure
object.
The dataframe containing the data; the variables names specified
in names
(when calling detStructAddVarNames
) must be present
in this dataframe.
Whether to only return the products or scales, or whether to append these to the dataframe and return the entire dataframe.
The separator to use when constructing the scale variables names.
detStructAddVarLabels
and detStructAddVarNames
just
change the determinantStructure
object;
detStructComputeProducts
and detStructComputeScales
return
either the dataframe with the new variables appended (if append
=
TRUE
) or just a dataframe with the new variables (if append
=
FALSE
).
This family of functions will be explained more in detail in a forthcoming paper.
(Forthcoming)
### Create some bogus determinant data
detStudy <- mtcars[, c(1, 3:7)];
names(detStudy) <- c('rUse_behav',
'rUse_intention',
'rUse_attitude1',
'rUse_attitude2',
'rUse_expAtt1',
'rUse_expAtt2');
### Specify the determinant structure
### First a subdeterminant
expAtt <-
behaviorchange::subdeterminants("Subdeterminants",
"expAtt");
### Then two determinants
attitude <-
behaviorchange::determinantVar("Determinant",
"attitude",
expAtt);
intention <-
behaviorchange::determinantVar("ProximalDeterminant",
"intention",
attitude);
### Then the entire determinant strcture
detStruct <-
behaviorchange::determinantStructure('Behavior',
list('behav',
behaviorRegEx = 'rUse'),
intention);
### Add the variable names
behaviorchange::detStructAddVarNames(detStruct,
names(detStudy));
### Add the determinant scale variable to the dataframe
detStudyPlus <-
behaviorchange::detStructComputeScales(detStruct,
data=detStudy);
#> Error in names(scalables) <- paste0(behaviorRegEx, separator, names(scalables)): 'names' attribute [1] must be the same length as the vector [0]
### Show its presence
names(detStudyPlus);
#> Error in eval(expr, envir, enclos): object 'detStudyPlus' not found
mean(detStudyPlus$rUse_Determinant);
#> Error in mean(detStudyPlus$rUse_Determinant): object 'detStudyPlus' not found