Restriktor has been developed for applied users. This means that we created an easy-to-use progam (or at least we tried) with all the necessary tools and output to answer your substantive research question involving order constraints. Moreover, restriktor has some unique features:
The constraints can be specified using a text-based description. In R, categorical predictors are represented by 'factors'. For example, the ‘Group’ variable with three factor levels: 'Low', 'Medium', and 'High'. Then, the constraints can be specified using the factor level names. In a one-way ANOVA with the categorical variable 'Group' the constraint syntax might look as follows:
myConstraints1 <- ' GroupLow < GroupMedium GroupMedium < GroupHigh '
In case of a continuous predictor, the constraints can be specified based on the variable name. For example, in a linear regression model with three predictor variables (e.g., Depression, Loneliness, and Selfesteem), the constraint syntax might look as:
myConstraints2 <- ' Depression > 0 Loneliness > 0 Selfesteem < 0 '
The standard linear model assumes that the errors are normally and independent distributed. Although, the F-test (which is often used in ANOVA and linear regression) is close to their nominal significance level (i.e., size robust) for deviations from the normality assumption, it can have substantial consequences for the power. Robust hypothesis testing might be a powerful alternative.
Restriktor has build-in support for objects of class
rlm from the
MASS package. For now, only the Tukey biweight function is supported.
Restriktor also supports models where the dependent variable is dichotomous or ordinal. In this case, the unconstrained model needs to be fitted using the
glm (generalized linear model) function.
In many situations, data from the behavioral and social sciences arise from cross-sectional studies which typically display some form of heteroskedasticity. Often the form of heteroskedasticity is unknown, and although the model parameters can be estimated consistently, this is not the case for the standard errors.
Restriktor can compute various types of heteroskedatic robust standard errors. In addition, standard errors can also be computed using standard bootstrapping or model-based bootstrapping.
Restriktor has support for inequality constraints, equality constraints or a combination of both. For example, the constraint syntax with all equal means might look as follows:
myConstraints3 <- ' GroupLow == GroupMedium GroupMedium == GroupHigh '
In addition, a combination of equality and inequality constraints can be used. For example the syntax might look as follows:
myConstraints4 <- ' GroupLow == GroupMedium GroupMedium < GroupHigh '