- Fixed a bug in the function
`result.lca()`

, function excluded all outputs which involved the word`ERROR`

even though results were available (thanks to Michael Weber). - Fixed a bug in the function
`multilevel.fit()`

, function used the number of observations at the Within level instead of the Between level for computing RMSEA at the Between Level (thanks to Maurizio Sicorello). - Fixed a bug in the function
`descript()`

which caused an error message when specifying a split variable. - Fixed a bug in the function
`robust.coef()`

which caused an error message in the presence of missing data on predictor variables. - Fixed a bug in the functions
`multilevel.icc()`

and`multilevel.descript()`

which caused an error message in when specifying a tibble instead of a data frame (thanks to Tanja Held).

- In the function
`mplus.lca()`

, the argument`processors`

allows to specify the number of processors and threads separately. - In the function
`item.omega()`

, residual covariances can be specified when`type = "categ"`

.

- Fixed a bug related to variable selection using the operators
`.`

,`+`

,`-`

,`~`

,`:`

,`::`

, functions which caused an warning message. - Fixed a bug in the functions
`center()`

,`multilevel.icc()`

, and`multilevel.descript()`

which caused an error message in three-level data with ambiguously coded cluster variables common in longitudinal data.

- Revised the function
`multilevel.descript()`

to take into account missing values, e.g.,`No. of cases`

and`No. of clusters`

show the number observations and clusters after excluding missing values. - Variable attributes in the function
`write.sav()`

do not require specifying all three columns`label`

,`values`

, and`missing`

anymore.

- Added the argument
`na`

to the function`read.mplus()`

.

- Removed the Fortran implementation of the polychoric correlation coefficient because it causes problems when loading the package on Mac computers.

- Fixed a bug in the function
`freq()`

, function did not provide an output.

- New function
`df.subset()`

for subsetting data frames using the operators`.`

,`+`

,`-`

,`~`

,`:`

,`::`

, and`!`

similar to functions from the R package`tidyselect`

. - New function
`lagged()`

to compute lagged values of variables. - New function
`df.move()`

to move variable(s) in a data frame. - New functions
`read.dta()`

and`write.dta()`

to read and write Stata DTA files. - New function
`coding()`

to code categorical variables, i.e., dummy, simple, unweighted and weighted effect, repeated, forward Helmert, reverse Helmert, and orthogonal polynomial coding. - New function
`effsize()`

to compute effect sizes for categorical variables, i.e., (adjusted) phi coefficient, (bias-corrected) Cramer’s V, (bias-corrected) Tschuprow’s T, (adjusted) Pearson’s contingency coefficient, Cohen’s w, and Fei. - New function
`script.copy()`

to save a copy of the current script in RStudio with the current date and time.

- Functions
`as.na()`

,`na.as()``center()`

,`ci.mean()`

,`ci.mean.w()`

,`ci.median()`

,`ci.prop()`

,`ci.var()`

,`ci.sd()`

,`cluster.scores()`

,`cor.matrix()`

,`crosstab()`

,`descript()`

,`freq()`

,`item.alpha()`

,`item.cfa()`

,`item.invar()`

,`item.omega()`

,`item.reverse()`

,`item.scores()`

,`multilevel.cfa()`

,`multilevel.cor()`

,`multilevel.descript()`

,`multilevel.fit()`

,`multilevel.icc()`

,`multilevel.invar()`

,`multilevel.omega()`

,`na.auxiliary()`

,`na.coverage()`

,`na.descript()`

,`na.indicator()`

,`na.pattern()`

,`na.prop()`

,`na.test()`

`rec()`

,`rwg.lindell()`

,`skewness()`

, and`kurtosis()`

provide the argument`...`

instead of the argument`x`

to specify variables from the data frame specified in`data`

using the operators`.`

,`+`

,`-`

,`~`

,`:`

,`::`

. - Function
`multilevel.icc()`

computes intraclass corelation coefficients in three-level data. - Function
`multilevel.descript()`

computes multilevel descriptive statistics in three-level data. - Function
`center()`

centers predictor variables in three-level data. - Function
`na.descript()`

provides descriptive statistics for missing data in two-level and three-lavel data. - Function
`cor.matrix()`

computes tetrachoric and polychoric correlation coefficients. - Added the arguments
`write`

and`append`

to all functions providing a print function to save the print output into a text file.

- Changed the default setting of the argument
`names`

in the functions`rec()`

to`.e`

. - Changed the default setting of the arguments
`label`

and`labels`

in the`read.sav`

function to`FALSE`

. - Changed the argument
`value`

in the function`na.as()`

to`na`

to make it consistent with the arguments of the function`as.na()`

. - Changed the argument
`resid.cov`

in the function`item.omega()`

to`resocv`

to make it consistent with the arguments of the functions`item.cfa()`

and`multilevel.cfa()`

. - Changed the argument
`names`

in the functions`center`

,`cluster.scores`

,`item.reverse`

, and`rec`

to`name`

to make it consistent with the arguments of the functions`item.scores()`

,`na.prop()`

, and`lwg.lindell()`

. - Changed the argument
`x`

and`...`

in the functions`df.duplicated()`

and`df.unique()`

to`...`

and`data`

to make it consistent with all other functions using the`...`

argument. - Merged help pages for the functions
`as.na`

and`na.as`

into one help page. - Merged help pages for the functions
`script.open`

,`script.close`

, and`script.save`

into one help page. - Merged help pages for the functions
`skewness`

and`kurtosis`

into one help page. - Merged help pages for the functions
`ci.mean`

and`ci.median`

into one help page. - Merged help pages for the functions
`ci.var`

and`ci.sd`

into one help page. - Removed the function
`shift()`

and replaced it by the function`lagged()`

. - Removed the function
`dummy.c()`

and replaced it by the function`coding()`

- Removed the functions
`cor.phi()`

,`cor.cont()`

,`cor.cramer()`

, and`eta.sq()`

and replaced them by the function`effsize()`

. - Removed the function
`cor.poly()`

and integrated polychoric correlation coefficient into the function`cor.matrix()`

.

- Fixed a bug in the function
`multilevel.descript()`

, function led to a node stack overflow.

- New function
`shift()`

to compute lagged or leading values of a vector.

- Fixed a bug in the function
`libraries()`

, version of the packages were not correctly displayed.

- Fixed a bug in the function
`test.welch()`

, to remove errors for r-devel from a recent change in r-devel.

- Added the argument
`group.ind`

to the function`result.lca()`

to specify. latent class indicators as grouping variable in the bar charts.

- Function
`mplus.lca()`

can be used to conduct latent class analysis with count, unordered categorical, and ordered categorical indicator variables. - Function
`result.lca()`

can be used to save bar charts with error bars for confidence intervals for each of the latent class solutions.

- Fixed a bug in the function
`dominance.manual()`

, function provided the wrong rank orderning.

- Renamed the functions
`mplus.lpa()`

and`results.lpa()`

to`mplus.lca()`

and`results.lca()`

.

- New function
`item.invar()`

for evaluating configural, metric, scalar, and strict between-group or longitudinal (partial) measurement invariance. - New function
`robust.coef()`

for computing heteroscedasticity-consistent standard errors and significance values for linear models estimated by using the`lm()`

function and generalized linear models estimated by using the`glm()`

function. - New function
`dominance()`

for linear models estimated by using the`lm()`

function and`dominance.manual()`

to conduct dominance analysis based on a (model-implied) correlation matrix of the manifest or latent variables. - New function
`check.resid()`

for performing residual diagnostics to detect nonlinearity (partial residual or component-plus-residual plots), nonconstant error variance (predicted values vs. residuals plot), and non-normality of residuals (Q-Q plot and histogram with density plot). - New function
`mplus.lpa()`

for writing Mplus input files for conducting latent profile analysis based on six different variance-covariance structures. - New function
`result.lpa()`

for creating a summary result table for latent profile analysis from multiple Mplus output files within subfolders.

- Added the argument
`order`

to the function`multilevel.cor()`

to order variables in the output table so that variables specified in the argument`between`

are shown first. - Added modification indices for parameter constraints to the function
`multilevel.cfa()`

and`multilevel.invar()`

. - Added residual correlation matrix to the function
`item.cfa()`

,`multilevel.cfa()`

, and`multilevel.invar()`

. - Function
`write.result()`

can also write results based on the return object of the`std.coef`

function.

- Renamed the argument
`min.value`

in the function`item.cfa()`

,`multilevel.cfa()`

, and`multilevel.invar()`

to`mod.minval`

and changed the default setting to`6.63`

.

- Removed the R package
`r2mlm`

from the`Imports`

field in the`DESCRIPTION`

due to dependencies issues.

- Function
`multilevel.descript()`

can also deal with between-cluster variables by reporting means and standard deviations at the cluster level. - Added the argument
`print`

to the function`multilevel.descript()`

to request standard deviation of the variance components.

- New function
`multilevel.fit()`

for computing simultaneous and level-specific model fit information for a fitted multilevel model containing no cross-level constraints from the R package lavaan. - New function
`multilevel.cfa()`

for conducting multilevel confirmatory factor analysis using the R package lavaan to investigate four types of constructs, i.e., within-cluster, shared, configural, and simultaneous shared and configural cluster constructs. - New function
`multilevel.invar()`

for evaluating configural, metric, and scalar cross-level measurement invariance using multilevel confirmatory factor analysis. - New function
`multilevel.omega()`

for computing point estimate and Monte Carlo confidence interval for the multilevel composite reliability defined by Lai (2021) for a within-cluster construct, shared cluster-level construct, and configural cluster construct.

- Added convergence checks to the function
`multilevel.cor()`

, e.g., warning message is printed when absolute correlations are greater than 1. - Argument
`cluster`

in the function`multilevel.cor()`

,`multilevel.descript()`

, and`multilevel.icc()`

can also be specified using the variable name of the cluster variable in`x`

.

- Revised the output of the
`item.cfa()`

function, e.g., loglikelihood and information criteria are shown above chi-square test of model fit and label`Ad Hoc`

changed to`Scaled`

.

- Fixed a bug in the function
`multilevel.cor()`

, which caused an error message (thanks to Richard Janzen).

- New function
`libraries()`

to load and attach multiple add-on packages at once. - New function
`check.outlier()`

computes statistical measures for leverage, distance, and influence for linear models estimated by using the`lm()`

function

- When using function
`write.result()`

, result tables are in line with the arguments`print`

,`tri`

,`digits`

,`p.digits`

, and`icc.digits`

specified in the object`x`

(thanks to Stefan Kulakow). - Function
`crosstab()`

displays marginal row-wise, column-wise, and total percentages in the output (thanks to Joachim Fritz Punter and Lisa Bucher). Note that the function now also returns the crosstable in the list element`result$crosstab`

of the return object .

- Revised the
`Value`

sections in the documentation of the functions. - Changed the default setting of the argument
`weighted`

in the`test.t`

and the`na.auxiliary`

function to`FALSE`

in line with the recommendation by Delacre et al. (2021). - Renamed the function
`collin.diag()`

to`check.collin()`

.

- Fixed a bug in the function
`read.mplus()`

, an error message was printed if comments in the Mplus input file contains special characters (e.g., ä, ü, ö). - Fixed a bug in the function
`std.coef()`

, the function was not applicable to predictors specified as character vector or factor.

- New functions
`script.close()`

,`script.new()`

,`script.open()`

, and`script.save()`

to close, open, and save R scripts in RStudio. - New function
`setsource()`

to set the working directory to the source file location in RStudio equivalent to using the menu item`Session - Set Working Directory - To Source File Location`

. - New function
`restart()`

to restart the RStudio session equivalent to using the menu item`Session - Restart R`

. - New function
`multilevel.r2.manual()`

to compute R-squared measures by Rights and Sterba (2019) for multilevel and linear mixed effects models by manually inputting parameter estimates.

- Functions
`center()`

,`cluster.scores()`

,`rec()`

, and`item.reverse()`

can be applied to more than one variable at once.

- New function
`aov.w()`

for performing repeated measures analysis of variance (within-subject ANOVA) including paired-samples t-tests for multiple comparison, descriptive statistics, effect size measures, and a plot showing error bars for within-subject confidence intervals. - New function
`ci.mean.w()`

for computing difference-adjusted Cousineau-Morey within-subject confidence intervals.

- Function
`ci.mean.diff()`

computes the confidence interval for the difference for an arithmetic mean in a one-sample design. - Functions
`aov.b()`

,`test.t()`

,`test.welch()`

, and`test.z()`

plot difference-adjusted confidence intervals in two-sample design by default. - Added the argument
`jitter.height`

to the functions`aov.b()`

,`test.levene()`

,`test.t()`

,`aov.welch()`

, and`test.z()`

. - Added the argument
`adjust`

to the function`ci.mean()`

, to apply difference-adjustment for the confidence interval.

- Function
`test.t()`

displays the confidence interval for the mean difference in the one-sample t-test.

- Fixed a bug in the function
`test.t()`

, result table provided by the function did not display the confidence interval correctly.

- New function
`aov.b()`

for performing between-subject analysis of variance including Tukey HSD post hoc test for multiple comparison.

- Function
`as.na()`

is also applicable to arrays - Added the argument
`plot`

and arguments for various graphical parameters for plotting results to the functions`test.levene()`

,`test.t()`

,`test.welch()`

, and`test.z()`

. - Added the argument
`write`

for writing results into an Excel file to the functions`cor.matrix()`

,`crosstab()`

,`descript()`

,`freq()`

,`item.alpha()`

,`item.cfa()`

,`item.omega()`

,`multilevel.cor()`

,`multilevel.descript()`

,`na.coverage()`

,`na.descript()`

, and`na.pattern()`

- Added the argument
`posthoc`

for conducting Games-Howell post hoc test for multiple comparison to the functions`test.welch()`

.

- New function
`item.cfa()`

for conducting confirmatory factor analysis using the R package lavaan.

- Function
`write.result()`

can also write results based on the return object of the`item.cfa()`

function. - Argument
`exclude`

of the function`freq()`

can also be set to`FALSE`

.

- Revised the output of the function
`multilevel.cor()`

to make it consistent with the output of the function`item.cfa()`

. - Changed the argument
`na.omit`

in the functions`multilevel.cor()`

to`missing`

to make it consistent with the arguments of the function`item.cfa()`

. - Changed the default setting of the argument
`estimator`

in the functions`multilevel.cor()`

to`ML`

, so that full information maximum likelihood method is used for dealing with missing data.

- Fixed a bug in the function
`multilevel.cor()`

, function did not use Huber-White robust standard errors, but conventional standard errors when specifying`estimator = "MLR"`

.

- New function
`multilevel.r2()`

for computing R-squared measures for multilevel and linear mixed effects models. - New function
`write.xlsx()`

for writing Excel files (.xlsx). - New function
`write.result()`

for writing results of a misty object into an Excel file.

- Added mean and variance components to the output of the function
`multilevel.descript()`

. - Added the argument
`round`

to the function`freq()`

for rounding numeric variables.

- Added a warning message in the
`na.test()`

function when running into numerical problems. - Changed the default setting of the argument
`sig`

in the functions`cor.matrix()`

and`multilevel.cor()`

to`FALSE`

.

- Examples added to the documentation of the
`collin.diag()`

function.

- Fixed a bug in the function
`print.misty.object()`

, function did not print the result object of the the function`crosstab()`

correctly when requesting percentages.

- New function
`multilevel.cor()`

for computing the within-group and between-group correlation matrix using the lavaan package. - New function
`na.test()`

for performing Little’s missing completely at random (MCAR) test. - New function
`indirect()`

for computing confidence intervals for the indirect effect using the asymptotic normal method, the distribution of the product method, and the Monte Carlo method. - New function
`multilevel.indirect()`

for computing confidence intervals for the indirect effect in a 1-1-1 multilevel mediation model using the Monte Carlo method.

- Function
`cor.matrix()`

highlights statistically significant correlation coefficients in boldface. - Function
`cor.matrix()`

shows the results in a table when computing a correlation coefficient for two variables. - Added test statistic (
`stat`

) and degrees of freedom (`df`

) to the argument`print`

in the function`cor.matrix()`

. - Added the argument
`continuity`

for continuity correction to the function`cor.matrix()`

for testing Spearman’s rank-order correlation coefficient and Kendall’s Tau-b correlation. - Substantial speed improvement for the function
`cor.matrix()`

when computing Spearman’s rank-order correlation coefficient or Kendall’s Tau-b correlation.

- Changed the argument
`group`

in the functions`center()`

,`group.scores()`

,`multilevel.descript()`

,`multilevel.icc()`

, and`rwg.lindell()`

to`cluster`

. - Renamed the function
`group.scores()`

to`cluster.scores()`

.

- Fixed a bug in the function
`cor.matrix()`

, function did not print sample sizes when specifying a grouping variable and using listwise deletion.

- Function
`write.mplus()`

writes a Mplus input template with variables names specified in the DATA command along with the tab-delimited data file by default.

- Removed the argument
`print()`

in the`write.mplus()`

function. - Changed the default setting of the argument
`weighted`

in the`test.welch()`

function into`FALSE`

following the recommendation by Delacre et al. (2021).

- Fixed a bug in the function
`cohens.d()`

, function printed warning messages of the`pt()`

function. - Fixed a bug in the function
`cohens.d()`

, function could not deal with more than one variable in a one-sample design.

- New function
`test.t()`

for performing one-sample, two-sample, and paired-sample t-tests including Cohen’s d effect size measure. - New function
`test.welch()`

for performing Welch’s t-test including Cohen’s d effect size measure and Welch’s ANOVA including \(\eta^2\) and \(\omega^2\) effect size measures.

- Added standard error of the mean to the argument
`print`

in the function`descript()`

. - Added the arguments
`format`

,`label`

,`labels`

,`missing`

to the function`read.sav()`

to remove variable formats, variable labels, value labels, value labels for user-defined missings, and widths from attributes of the variable. - Function
`item.reverse()`

can also be applied to to items with non-integer values. - Return object of the function
`cor.matrix()`

when specifying a grouping variable comprises the combined results of both groups in the matrices. - Function
`read.mplus()`

can also deal with consecutive variables (e.g.,`x1-x5`

). - Added
`group`

and`split`

arguments to the function`cohens.d()`

. - Added Cohen’s d effect size measure to the output of the
`test.z`

function. - Function
`cohens.d()`

computes various kinds of Cohen’s d, Hedges’ d, and Glass’s \(\Delta\) including confidence intervals, e.g., weighted and unweighted pooled standard deviation in a two-sample design, with and without controlling for the correlation between the two sets of measurement in a paired-sample design, or with and without the small-sample correction factor.

- Renamed following functions:
`alpha.coef()`

to`item.alpha()`

,`cont.coef()`

to`cor.cont()`

,`cramers.v()`

to`cor.cramer()`

,`levenes.test()`

to`test.levene()`

,`mgsub()`

to`chr.gsub()`

,`omega.coef()`

to`item.omega()`

,`reverse.item()`

to`item.reverse()`

,`phi.coef()`

to`cor.phi()`

,`poly.cor()`

to`cor.poly()`

,`scores()`

to`item.scores()`

,`stromit()`

to`chr.omit()`

,`trim()`

to`chr.trim()`

,`z.test()`

to`test.z()`

, - Changed the argument
`use`

in the`cor.matrix()`

function into`na.omit`

. - Changed the default setting of the argument
`method`

in the functions`multilevel.descript()`

and`multilevel.icc()`

to`"lme4"`

; if the lme4 package is not installed,`"aov"`

will be used. - Changed the output of the functions
`ci.mean.diff()`

and`ci.mean.prop()`

when computing confidence intervals in two-sample designs, i.e., results are divided in two rows according to the grouping variable. - Changed the output of the functions
`ci.mean.diff()`

and`ci.mean.prop()`

when computing confidence intervals in paired-sample designs, i.e., output reports the number of missing data pairs (`nNA`

), instead of number of missing values for each variable separately (`nNA1`

and`nNA2`

). - Changed the output of the functions
`descript()`

when specifying the argument`levenes.test()`

, i.e., duplicated labels in the column`group`

or`variable`

are not shown. - Changed the functions
`cohens.d()`

into a generic function with the methods`cohens.d.default()`

and`cohens.d.formula()`

. - Added arguments
`hypo`

and`descript`

to the functions`test.levene()`

and`test.z()`

. - Added titles to the output of the
`freq`

,`descript`

, and`crosstab`

function. - Changed the argument
`as.na`

in the`as.na()`

function into`na`

.

- Fixed a bug in the function
`center()`

which caused an error message in case of groups with only one observation when trying to apply group mean centering. - Fixed a bug in the function
`center()`

which caused an error message when trying to apply grand mean centering of a Level 1 predictor. - Fixed a bug in the function
`cohens.d()`

, an error message was printed in the between subject design whenever specifying a grouping variable with missing values. - Fixed a bug in the function
`cor.matrix()`

, which caused an error when using listwise deletion for missing data while specifying a grouping variable. - Fixed a bug in the function
`descript()`

, which caused an error message when selection only one or two argument statistical measures using the argument`print`

. - Fixed a bug in the function
`freq()`

, where the argument`split`

was broken. - Fixed a bug in the function
`test.zz()`

, where the alternative hypothesis was displayed wrong when specifying`alternative = "greater"`

or`alternative = "less"`

.

- New function
`collin.diag()`

for collinearity diagnostics including tolerance, (generalized) standard error inflation factor, (generalized) variance inflation factor, eigenvalues, conditional indices, and variance proportions for linear, generalized linear, and mixed-effects models. - New function
`std.coef()`

for computing standardized coefficients (StdX, StdY, and StdYX) for linear models estimated by using the`lm()`

function. - New function
`mgsub()`

for multiple pattern matching and replacements, i.e.,`gsub()`

function for matching and replacing a vector of character strings. - New functions
`df.duplicated()`

and`df.unique()`

extracting duplicated or unique rows of a matrix or data frame.

- Fixed a bug in the function
`read.xlsx()`

, default setting of the argument`progress`

was wrong.

- Merged all print functions to a single print function called
`print.misty.object()`

.

- New function
`z.test()`

for performing one sample, two sample, and paired sample z-test.

- Function
`omega.coef()`

does not access internal slots of a fitted lavaan object anymore (requested by Yves Rosseel).

- Added descriptive statistics and confidence intervals to the function
`levenes.test()`

. - Changed the output of the functions
`size.mean()`

,`size.prop()`

, and`size.cor()`

to include greek letters. - Changed the argument
`theta`

in the`size.mean()`

function into`delta`

.

- New functions
`ci.mean()`

,`ci.mean.diff()`

,`ci.median()`

,`ci.prop()`

,`ci.prop.diff()`

,`ci.sd()`

,`ci.var()`

for computing confidence interval for the arithmetic mean, the difference in arithmetic means, the median, the proportion, the difference in proportions, the variance, and the standard deviation. - New function
`levenes.test()`

for conducting Levene’s test for homogeneity of variance. - New function
`omega.coef()`

for computing coefficient omega (McDonald, 1978), hierarchical omega (Kelley & Pornprasertmanit, 2016), and categorical omega (Green & Yang, 2009). - New function
`read.xlsx()`

for reading Excel files (.xlsx).

- Added ordinal coefficient alpha to the function
`coef.alpha()`

. - Added Kendall-Stuart’s Tau-c correlation coefficient to the function
`cor.matrix()`

. - Function
`as.na()`

can also replace user-specified values with missing values in lists.

- Changed the argument
`use`

in the`alpha.coef()`

function into a logical argument`na.omit`

. - Changed the argument
`pval.digits`

in the`cor.matrix()`

function into`p.digits`

. - Merged print functions
`print.cont.coef()`

,`print.cramers.v()`

,`print.na.auxiliary()`

,`print.na.coverage()`

,`print.phi.coef()`

, and`print.poly.cor()`

into`print.square.matrix()`

- Fixed a bug in several function, where
`is.vector()`

function was used to test if an object is a vector. Instead`is.atomic()`

function is used to test if an object is a vector. - Fixed a bug in the function
`as.na()`

, function converted strings in data frames to factors.

- New function
`trim()`

for removing whitespace from start and/or end of a string. Note that this function is equivalent to the function`trimws()`

in the`base`

package. However, the`trimws()`

function fails to remove whitespace in some instances.

- Fixed a bug in the function
`cohens.d()`

, function returned`NA`

for Cohen’s d in within-subject design in the presence of missing values - Fixed a bug in the function
`alpha.coef()`

, function did not provide any item statistics irrespective of the argument`print`

- Fixed a bug in the function
`as.na()`

, function always generated a warning message irrespective of the argument`as.na`

.