{
  "_id": "6ae843de818c9e3ef6dbd551",
  "Package": "bifactory",
  "Title": "(Bifactor) ESEM with Continuous (MLR) or Ordinal (WLSMV) Data",
  "Version": "0.6.2",
  "Authors@R": "person(given  = \"Leon T.\",\nfamily = \"De Beer\",\nemail  = \"leondb@gmail.com\",\nrole   = c(\"aut\", \"cre\"))",
  "Description": "Fits bifactor exploratory structural equation models\n(B-ESEM), together with standard exploratory structural\nequation modeling (ESEM) and confirmatory factor analysis\n(CFA), for continuous and ordinal data. Continuous models use\n'lavaan' native efa() blocks with robust maximum likelihood\n(MLR) estimation. Ordinal ESEM defaults to the 'lavaan'\nweighted least squares mean- and variance-adjusted (WLSMV)\nestimator; ordinal B-ESEM uses a custom diagonally weighted\nleast squares (DWLS) path with polychoric correlations from\n'lavaan', rotation-delta standard errors via 'numDeriv', and a\nmean- and variance-adjusted chi-square. Target, geomin, and\noblimin rotations use 'GPArotation'; the bifactor ESEM approach\nfollows Morin, Arens and Marsh (2016)\n<doi:10.1080/10705511.2014.961800>. Additional features include\nmulti-group measurement invariance (configural through strict,\nwith partial invariance), ESEM-within-CFA conversion,\nMcDonald's omega reliability suite, and the Mehrvarz and Rouder\n(2026) <doi:10.31234/osf.io/95enc_v3> alignment ratio check for\nindependent cluster model confirmatory factor analysis\n(ICM-CFA) misspecification. An optional 'MplusAutomation'\ninterface allows side-by-side comparison with 'Mplus' output.",
  "License": "AGPL-3",
  "URL": "https://github.com/leondebeer/bifactory",
  "BugReports": "https://github.com/leondebeer/bifactory/issues",
  "Encoding": "UTF-8",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-02 07:57:24 UTC",
    "User": "root"
  },
  "Author": "Leon T. De Beer [aut, cre]",
  "Maintainer": "Leon T. De Beer <leondb@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-11-01 23:10:16 UTC",
  "RemoteUrl": "https://github.com/cran/bifactory",
  "RemoteRef": "HEAD",
  "RemoteSha": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
  "_user": "cran",
  "_type": "src",
  "_file": "bifactory_0.6.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/2298ffb7b8ef6d0b3231be9373474fc21af151ea98ea23a5b5baaf5d27b750d0",
  "_filesize": 616199,
  "_sha256": "2298ffb7b8ef6d0b3231be9373474fc21af151ea98ea23a5b5baaf5d27b750d0",
  "_expires": "2027-02-10T08:03:40.000Z",
  "_created": "2026-11-02T07:57:24.000Z",
  "_published": "2026-11-02T08:03:42.255Z",
  "_upstream": "https://github.com/cran/bifactory",
  "_status": "success",
  "_maintainer": {
    "name": "Leon T. De Beer",
    "email": "leondb@gmail.com",
    "login": "leondebeer",
    "description": "",
    "uuid": 67230971
  },
  "_jobs": [
    {
      "job": 125159562348,
      "time": 199,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13125575624"
    },
    {
      "job": 125159562244,
      "time": 168,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13124519674"
    },
    {
      "job": 125158151048,
      "time": 239,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13124837496"
    },
    {
      "job": 125159562275,
      "time": 96,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13125411214"
    },
    {
      "job": 125159562280,
      "time": 112,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13124434845"
    },
    {
      "job": 125159562293,
      "time": 112,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13125236545"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032",
  "_commit": {
    "id": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
    "author": "Leon T. De Beer <leondb@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.6.2\n",
    "time": 1793574616
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "lavaan",
      "version": ">= 0.7-2",
      "role": "Imports"
    },
    {
      "package": "GPArotation",
      "role": "Imports"
    },
    {
      "package": "psych",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "numDeriv",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "MplusAutomation",
      "role": "Suggests"
    },
    {
      "package": "openxlsx2",
      "role": "Suggests"
    },
    {
      "package": "pkgload",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-28",
      "n": 1
    },
    {
      "week": "2026-35",
      "n": 1
    },
    {
      "week": "2026-37",
      "n": 1
    },
    {
      "week": "2026-44",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "0.5.1",
      "date": "2026-07-11"
    },
    {
      "name": "0.5.2",
      "date": "2026-08-28"
    },
    {
      "name": "0.6.0",
      "date": "2026-09-09"
    },
    {
      "name": "0.6.1",
      "date": "2026-10-27"
    },
    {
      "name": "0.6.2",
      "date": "2026-11-01"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "leondebeer",
      "count": 5,
      "uuid": 67230971
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 635,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 350,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/bifactory"
  },
  "_devurl": "https://github.com/leondebeer/bifactory",
  "_searchresults": 3,
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/bifactory.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt"
  ],
  "_homeurl": "https://github.com/leondebeer/bifactory",
  "_realowner": "leondebeer",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.5.1",
      "date": "2026-07-11"
    },
    {
      "version": "0.5.2",
      "date": "2026-08-28"
    },
    {
      "version": "0.6.0",
      "date": "2026-09-09"
    },
    {
      "version": "0.6.1",
      "date": "2026-10-27"
    },
    {
      "version": "0.6.2",
      "date": "2026-11-02"
    }
  ],
  "_exports": [
    "align_loadings",
    "alignment_check",
    "besem",
    "besem_ordered",
    "bifactory_template",
    "chisq_decomp",
    "compare_ewc",
    "compare_loadings",
    "compute_indices",
    "compute_omega",
    "esem",
    "esem_compare",
    "esem_invariance",
    "esem_ordered",
    "ewc_syntax",
    "extract_mplus_loadings",
    "factor_correlations",
    "factor_scores",
    "find_ewc_referents",
    "fit_ewc",
    "fit_indices",
    "generate_mplus_besem_syntax",
    "generate_mplus_syntax",
    "get_syntax",
    "lavaan_fit",
    "make_bifactor_target",
    "make_target",
    "parameters",
    "parse_mplus_polychoric",
    "partial_invariance",
    "refine_rotation",
    "run_comparison",
    "run_mplus_besem_invariance",
    "save_results",
    "set_target",
    "specify_model",
    "std_loadings"
  ],
  "_help": [
    {
      "page": "align_loadings",
      "title": "Align ESEM/B-ESEM standardized loadings to a reference",
      "topics": [
        "align_loadings"
      ]
    },
    {
      "page": "alignment_check",
      "title": "Alignment Ratio Check for ICM-CFA Specification",
      "topics": [
        "alignment_check"
      ]
    },
    {
      "page": "besem",
      "title": "Bifactor Exploratory Structural Equation Modeling (B-ESEM)",
      "topics": [
        "besem"
      ]
    },
    {
      "page": "besem_ordered",
      "title": "Bifactor ESEM for Ordinal Data",
      "topics": [
        "besem_ordered"
      ]
    },
    {
      "page": "bifactory_template",
      "title": "Open or Copy the bifactory Analysis Template",
      "topics": [
        "bifactory_template"
      ]
    },
    {
      "page": "chisq_decomp",
      "title": "Per-Group Chi-Square Decomposition for Invariance Fits",
      "topics": [
        "chisq_decomp"
      ]
    },
    {
      "page": "coef.esem_fit",
      "title": "Extract Parameter Estimates from an esem_fit",
      "topics": [
        "coef.esem_fit"
      ]
    },
    {
      "page": "compare_ewc",
      "title": "Compare Pipeline Results with an EWC Model",
      "topics": [
        "compare_ewc"
      ]
    },
    {
      "page": "compare_loadings",
      "title": "Compare R and Mplus Standardised Loadings",
      "topics": [
        "compare_loadings"
      ]
    },
    {
      "page": "compute_indices",
      "title": "Compute Reliability Indices for CFA, ESEM, and B-ESEM",
      "topics": [
        "compute_indices"
      ]
    },
    {
      "page": "compute_omega",
      "title": "Deprecated: use 'compute_indices' instead",
      "topics": [
        "compute_omega"
      ]
    },
    {
      "page": "esem",
      "title": "Exploratory Structural Equation Modeling",
      "topics": [
        "esem"
      ]
    },
    {
      "page": "esem_compare",
      "title": "Compare ESEM Against a Standard CFA",
      "topics": [
        "esem_compare"
      ]
    },
    {
      "page": "esem_invariance",
      "title": "Measurement Invariance Testing for ESEM Models",
      "topics": [
        "esem_invariance"
      ]
    },
    {
      "page": "esem_ordered",
      "title": "ESEM for Ordinal (Likert) Data",
      "topics": [
        "esem_ordered"
      ]
    },
    {
      "page": "ewc_syntax",
      "title": "Generate ESEM-within-CFA Lavaan Syntax",
      "topics": [
        "ewc_syntax"
      ]
    },
    {
      "page": "extract_mplus_loadings",
      "title": "Extract standardized loadings from MplusAutomation output",
      "topics": [
        "extract_mplus_loadings"
      ]
    },
    {
      "page": "factor_correlations",
      "title": "Extract Factor Correlations from an esem_fit",
      "topics": [
        "factor_correlations"
      ]
    },
    {
      "page": "factor_scores",
      "title": "Extract Latent Factor Scores",
      "topics": [
        "factor_scores"
      ]
    },
    {
      "page": "find_ewc_referents",
      "title": "Auto-Select EWC Referent Items",
      "topics": [
        "find_ewc_referents"
      ]
    },
    {
      "page": "fit_ewc",
      "title": "Fit an ESEM-within-CFA Model",
      "topics": [
        "fit_ewc"
      ]
    },
    {
      "page": "fit_indices",
      "title": "Mplus-Matched Fit Indices for a Single Model",
      "topics": [
        "fit_indices"
      ]
    },
    {
      "page": "fitMeasures.esem_fit",
      "title": "Extract Fit Measures from an esem_fit",
      "topics": [
        "fitMeasures.esem_fit"
      ]
    },
    {
      "page": "generate_mplus_besem_syntax",
      "title": "Generate Mplus B-ESEM Syntax",
      "topics": [
        "generate_mplus_besem_syntax"
      ]
    },
    {
      "page": "generate_mplus_syntax",
      "title": "Generate Mplus Syntax for ESEM with Target Rotation",
      "topics": [
        "generate_mplus_syntax"
      ]
    },
    {
      "page": "get_syntax",
      "title": "Extract the Generated lavaan Syntax",
      "topics": [
        "get_syntax"
      ]
    },
    {
      "page": "lavaan_fit",
      "title": "Extract the Underlying lavaan Fit Object",
      "topics": [
        "lavaan_fit"
      ]
    },
    {
      "page": "make_bifactor_target",
      "title": "Create a Bifactor Target Matrix",
      "topics": [
        "make_bifactor_target"
      ]
    },
    {
      "page": "make_target",
      "title": "Create a Target Loading Matrix for Target Rotation",
      "topics": [
        "make_target"
      ]
    },
    {
      "page": "modindices.esem_fit",
      "title": "Extract Modification Indices from an esem_fit",
      "topics": [
        "modindices.esem_fit"
      ]
    },
    {
      "page": "parameters",
      "title": "Display Model Parameters",
      "topics": [
        "parameters"
      ]
    },
    {
      "page": "parse_mplus_polychoric",
      "title": "Parse Mplus Polychoric Correlation Matrix from Output File",
      "topics": [
        "parse_mplus_polychoric"
      ]
    },
    {
      "page": "partial_invariance",
      "title": "Partial Measurement Invariance Testing",
      "topics": [
        "partial_invariance"
      ]
    },
    {
      "page": "plot.alignment_check",
      "title": "Plot Sorted Alignment Ratios",
      "topics": [
        "plot.alignment_check"
      ]
    },
    {
      "page": "print.alignment_check",
      "title": "Print Method for alignment_check",
      "topics": [
        "print.alignment_check"
      ]
    },
    {
      "page": "print.besem_fit",
      "title": "Print Method for besem_fit",
      "topics": [
        "print.besem_fit"
      ]
    },
    {
      "page": "print.bifactory_parameters",
      "title": "Print a Parameter Table",
      "topics": [
        "print.bifactory_parameters"
      ]
    },
    {
      "page": "print.esem_comparison",
      "title": "Print Method for esem_comparison",
      "topics": [
        "print.esem_comparison"
      ]
    },
    {
      "page": "print.esem_comparison_pipeline",
      "title": "Print Method for esem_comparison_pipeline",
      "topics": [
        "print.esem_comparison_pipeline"
      ]
    },
    {
      "page": "print.esem_fit",
      "title": "Print Method for esem_fit",
      "topics": [
        "print.esem_fit"
      ]
    },
    {
      "page": "print.esem_invariance",
      "title": "Print Method for esem_invariance",
      "topics": [
        "print.esem_invariance"
      ]
    },
    {
      "page": "print.esem_partial_invariance",
      "title": "Print Method for esem_partial_invariance",
      "topics": [
        "print.esem_partial_invariance"
      ]
    },
    {
      "page": "print.esem_spec",
      "title": "Print an esem_spec Object",
      "topics": [
        "print.esem_spec"
      ]
    },
    {
      "page": "print.esem_target",
      "title": "Print a Target Rotation Matrix",
      "topics": [
        "print.esem_target"
      ]
    },
    {
      "page": "print.ewc_comparison",
      "title": "Print Method for ewc_comparison",
      "topics": [
        "print.ewc_comparison"
      ]
    },
    {
      "page": "print.ewc_fit",
      "title": "Print Method for ewc_fit",
      "topics": [
        "print.ewc_fit"
      ]
    },
    {
      "page": "print.reliability_indices",
      "title": "Print a reliability_indices Object",
      "topics": [
        "print.omega_result",
        "print.reliability_indices"
      ]
    },
    {
      "page": "refine_rotation",
      "title": "Refine B-ESEM Rotation Using Mplus Solution as Warm Start",
      "topics": [
        "refine_rotation"
      ]
    },
    {
      "page": "run_comparison",
      "title": "Run the Full CFA / ESEM / B-ESEM Comparison Pipeline",
      "topics": [
        "run_comparison"
      ]
    },
    {
      "page": "run_mplus_besem_invariance",
      "title": "Generate, Run, and Compare B-ESEM Invariance Models Against Mplus",
      "topics": [
        "run_mplus_besem_invariance"
      ]
    },
    {
      "page": "save_results",
      "title": "Save Pipeline Results to CSV or xlsx",
      "topics": [
        "save_results"
      ]
    },
    {
      "page": "set_target",
      "title": "Modify an Existing Target Matrix",
      "topics": [
        "set_target"
      ]
    },
    {
      "page": "specify_model",
      "title": "Specify an ESEM Model Structure",
      "topics": [
        "specify_model"
      ]
    },
    {
      "page": "std_loadings",
      "title": "Extract Standardized Loadings from an esem_fit",
      "topics": [
        "std_loadings"
      ]
    },
    {
      "page": "summary.esem_fit",
      "title": "Summary Method for esem_fit",
      "topics": [
        "summary.esem_fit"
      ]
    },
    {
      "page": "summary.ewc_fit",
      "title": "Summary for ESEM-within-CFA Fits",
      "topics": [
        "summary.ewc_fit"
      ]
    }
  ],
  "_rundeps": [
    "GPArotation",
    "lattice",
    "lavaan",
    "MASS",
    "mnormt",
    "nlme",
    "numDeriv",
    "pbivnorm",
    "psych",
    "quadprog",
    "withr"
  ],
  "_score": 1.6020599913279625,
  "_indexed": false,
  "_nocasepkg": "bifactory",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://leondebeer.r-universe.dev/bifactory",
  "_previous": "0.6.1",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.2",
      "date": "2026-11-02T08:02:36.000Z",
      "distro": "resolute",
      "commit": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
      "fileid": "https://r2.ropensci.org/2ba8d7f25ee01ba6956a7eb6cbaf689ea53b07c29afed517747b007878459249",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "0.6.2",
      "date": "2026-11-02T08:02:03.000Z",
      "distro": "resolute",
      "commit": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
      "fileid": "https://r2.ropensci.org/f52511cff193807fce763ea5b8c8b2f23bf0160b8f1f6a5f9f74bd667d021492",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.2",
      "date": "2026-11-02T08:01:40.000Z",
      "commit": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
      "fileid": "https://r2.ropensci.org/02aa9b3525886ff9baa4f2aa4dd90439eff5d3944b9e30e19c09314588f3c738",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.2",
      "date": "2026-11-02T08:01:02.000Z",
      "commit": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
      "fileid": "https://r2.ropensci.org/e1114188b55ec887c3b91db5cbb55bcff5977b3ce087f06e5d189518a1e44353",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "0.6.2",
      "date": "2026-11-02T08:01:04.000Z",
      "commit": "0bc15bf0e9ac58bd72c2cb9165878974ced72ebd",
      "fileid": "https://r2.ropensci.org/65962366d490ce918c7a077764acf542c22c062ac0277a6bab3ce3a418986434",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41409178032"
    }
  ]
}