Skip to content

Releases: FloSchuberth/cSEM

cSEM 0.6.1

15 May 14:39

Choose a tag to compare

Adjusted description file as asked by CRAN

cSEM 0.6.0 (2025-02-24)

25 Feb 11:01

Choose a tag to compare

Major changes

  • Implementation of testCVPAT() to perform the CVPAT test.
  • Enhance the predict() function. It works now for models estimated by OrdPLS(c). Moreover, various prediction metrics have been implemented and the earliest and direct antecedent approaches have been implemented.
  • Implementation of a plot() function to visualize cSEM models.
  • Implementation of the calculateRelativeGoF() function which calculates the relative GoF.

Bug fixes

  • Bug fix in the print function of the assess() function. Fix bug in the calculation of the R2 and adjR2.
  • Bug fix in the print method of the summarize() function. If a constant a bootstrapped SE and related statistics are set to NA. .disattenuated is no correctly displayed
  • Bug fix in the GSCA(m) implementation if a single indicator construct is encountered.
  • Bug fix in the testOMF() function. the saturated argument is now passed to the discrepancy measures.
  • Bug fix in calculateReliabilities(). Now correction for attenuation is correctly done for PLS-PM Mode B.
  • Bug fix in calculateEffects(). Now it is distinguished between recursive and non-recursive models. For recursive models rounding is no longer necessary.
  • Bug fix in calculateGoF. Now single-indicator constructs are excluded. Thanks to Mehmet Mehmetoglu and Sergio Venturini.

cSEM version 0.4.0

20 Apr 12:26

Choose a tag to compare

cSEM 0.4.0 (2021-04-20)

Major changes

  • New function exportToExcel(). The function conveniently exports the results
    from assess(), predict(), summarize() and testOMF() to an .xlsx file.

Bug fixes

  • Critical bug fix: calculateVifModeB() did not calculate the VIFs for modeB
    constructs correctly because of a bug in the calculation of the R^2.
    PLEASE REVIEW YOUR CALCULATIONS in cSEM version < 0.3.1:9000! (thanks to @benjamin Liengaard
    for pointing it out).

  • Bug fix: predict() no longer silently returns empty predictions when .test_data
    does not contain rownames.

  • Bug fix: calculation of the MSE in modelSelectionCriteria() resulted in a
    vector of incorrect length. In some cases this affected the computation
    of "GM" and "Mallows_cp".

cSEM 0.3.0

15 Oct 06:41

Choose a tag to compare

Changes

  • Add lifecylce badges to postestimation functions. (#376)

  • Some arguments accepted by assess()'s ... argument had not been documented
    properly. This has been fixed. See args_assess_dotdotdot for a complete list of
    available arguments.

  • calculateHTMT() now allows users to chose the type of confidence interval to
    use when computing the critical (1-alpha)% quantile of the HTMT values (#379)

  • testMGD() gains a new .output_type argument. By default (.output_type = "structured"),
    the standard output is returned. If .output_type = "structured", however,
    a tibble (data frame) summarizing the test decisions in a user-friendly way
    is returned. (#398)

  • Remove warning from fit() when polycoric or polyserial indicator correlation
    is used during estimation. (#413)

  • print.cSEMAssess() no longer prints zero for VIF values of constructs that
    are not part of a particular structural equation.

  • print.cSEMAssess() now prints the results of calculateVIFModeB(). This had been missing
    in previous releases. (#384)

  • Breaking: calculateVIFModeB() now returns a matrix with the dependent construct
    in the rows and the VIFs for the coresponding weights in the columns. Previously,
    the output was a list.

  • Add model selection criteria. See the calculateModelSelectionCriteria()
    function for details. As usual, all criteria are available via assess(). (#412)

  • Combine functions for surface, floodlight and simple effects analysis in
    the doNonlinearEffectsAnalysis() function; Breaking: functions doFloodlightAnalysis()
    and doSurfaceAnalysis() have been removed!

  • Progress bars are now supported for every function that does resampling.
    Progress bars are fully customizable via the progressr framework created by
    @HenrikBengtsson. Note: to suppress the progress bar use
    progressr::handlers("void") and then run your csem commands. (#359)

  • Fix bug in the computation of the Bc and Bca interval. Computation failed for
    models that had no indirect effects.

  • List element "reliability" of assess() is changed to "Reliability" to be
    consistent with the naming scheme of the other list elements.

  • infer() automatically computes bootstrap resamples now by default if .object
    does not have class cSEMResults_resampled already. (#389)

  • Remove .alpha argument from testMICOM(). The argument is no longer required
    as decisions are made via (possibly adjusted) p-values. (#393)

  • Add checks to plot methods for predict(), doFloodlightAnalysis, and,
    doFloodlightAnalysis.

  • Several documentation updates and typo corrections.

  • The Fornell-Larcker criterion is now computed by its own function
    calculateFLCriterion(). Previously, it was only available via assess(). (#387)

  • Implement importance-performance matrix analysis via doIPMA(). A corresponding
    plot method is also available.

cSEM 0.2.0

30 Mar 09:54

Choose a tag to compare

cSEM 0.2.0 (30.03.2020)

Major changes

  • testMICOM() gains the .approach_p_adjust argument. The argument takes a
    single character string or a vector of character strings naming the p-value
    adjustment for multiple comparisons. (#138)

  • Review calculateHTMT(). 1.) Add inference; 2) fix wrong handling of
    single-indicator constructs (#351); 3) Remove warning produced by
    calculateHTMT() when the estimated model contains
    less than 2 common factors. (#325)

  • Breaking: Rename argument in doFloodlightAnalysis(). (#343)

  • New function doSurfaceAnalysis(). See ?doSurfaceAnalysis()(#349)

  • Implement degrees of freedom calculation for second-order constructs.

  • Add new function getConstructScores(). The function returns the standardized
    or unstandardized construct scores. Requires a cSEMResults object as input. (#340)

  • Fix bug in doFloodlightAnalysis(). There was an internal bug. Earlier versions
    returned the wrong direct effect. If you have used doFloodlightAnalysis()
    from cSEM v. 0.1.0 results are likely wrong.

  • Export plot method for cSEMFloodlight objects.

  • Allow users to specify a lavaan model without a structural model. Now, users
    can specify a model with several measurement equations (via <~ or =~)
    but no strucutral equations. Instead the correlations between all! constructs
    must be given. Failing to do so causes an error.

New example data

  • Add indicator correlation matrix for a modified version of Summers (1965) model.
    See ?Sigma_Summers_composites

  • Add example data sets used in Henseler (2020). See ?BergamiBagozzi2000, ?ITFlex,
    ?LancelotMiltgenetal2016, ?Russett, ?Switching, and ?Yooetal2000.

assess()

  • Update documentation and vignettes

  • The following functions called by assess() are now exported and support all
    of cSEM's native classes (#357, #369):

    • calculateAVE()
    • calculateDf()
    • calculateGoF()
    • calculateHTMT() (does not support models containing second-order constructs)
    • calculateRhoT()
    • calculateRhoT()
    • calculatef2()
    • calculateDML()
    • calculateDG()
    • calculateDL()
    • calculateChiSquare()
    • calculateChiSquareDf()
    • calculateGFI()
    • calculateNFI()
    • calculateNNFI()
    • calculateIFI()
    • calculateCFI()
    • calculateSRMR()
    • calculateRMSEA()
    • calculateRMSTheta()
    • calculateVIFModeB()
  • assess() now supports all of cSEM's native classes. (#323)

  • assess() now also computes and prints the total and indirect effects for each
    variable as they are often used for model assessment and may thus be considered
    a quality criteria.
    In addition, the variance accounted for (VAF) is computed and printed as well. (#335)

  • Breaking: change the name of the the quality criterion "effect size (f2)" from
    esize to f2 and the corresponding function from calculateEffectSize() to
    calculatef2()as this is more common. (#336)

  • Add the Chi_square statistic and the Chi_square statistic divided by its
    degrees of freedom to the list of fit indices. See: ?calculateChiSquare()
    and ?calculateChiSquareDf()

  • Fix bug in calculatef2()/assess() when one of the equations
    of the structural model has only one explanatory variable.

  • Fix bug related to dotdotdot arguments incorrectly passed to functions supplied
    to .user_funs when resampling. Add additional example to assess() illustrating
    the use of the .user_funs arguments when given multiple functions. (#334)

  • Remove warning produced when printing a cSEMAssess object based on a
    model containing only constructs modeled as composites.

predict()

  • Update documentation for predict().

  • Integrate and document cSEMPredict method for generic function plot(). Now
    users may call plot() on an object created by predict(). (#337)

  • Add the density of the residuals as plot to plot.cSEMPredict(). (#337)

  • Remove argument .only_common_factors for postestimation function predict().
    Now predict() retruns predictions for composite models as well.
    This will break existing code that uses predict(..., .only_common_factors = ...).
    You will get an unused argument (.only_common_factors = FALSE) error.
    Simply remove the argument to fix it. (#330)

  • Fixed error in predict() when the dataset used to obtain .object contained
    a character column. (#345)

Experimental features

  • Add .fit_measures argument to testOMF(). Now other fit measures such as
    the RMSEA or the GFI can be used as the test statistic. This is a rather
    experimental feature and may be removed in future versions.

Minor changes and bug fixes

  • Using .approach_weights = "GSCA" for models containing nonlinear terms
    gives a more meaningful error message. (#342)

  • print.cSEMTestMICOM() no longer prints the decision but additional bootstrap
    information. (in parts: #339)

  • If the weighting scheme is "PLS-PM" and .disattenuate = TRUE, dissatenuation
    is longer applied to constructs using modes other than "modeA"" or "modeB". (#352)

  • Model-implied indicator correlation matrix for non-recursive models
    should now be calculated correctly. (#264)

  • calculatef2() gives an error when the path model estimator is not "OLS". (#360, #370)

  • Add .type argument to calculateGFI(). Now GFI based on the ML and ULS
    fitting function can be computed. (#371)

  • csem() gives a meaningful error when the structural model contains only
    second-order constructs (#366)

  • Fix bug in testMICOM(). Function produced an error if the data set provided
    contained more columns than indicators used in the model used for
    csem(). (#355)

  • Fix bug in testMICOM(). Function produced an error if the data set provided
    contained an id-column even if the id-column was correctly supplied to
    csem(). (#344, #338)

  • When calculating the HTMT via assess() the geometric mean of the average
    monotrait−heteromethod correlation construct eta_i with the average
    monotrait−heteromethod correlation of other constructs can be negative.
    NaNs produced are produced in this case and the HTMT was not printed.
    Added a warning and forced printing the NaNs as well. (#346)

  • Add CITATION file (#331)

  • Add informative error message if .data contains missing values.

  • Update vignettes csem-notation

Initital release

15 Jan 08:12

Choose a tag to compare

This is the Initial release