{
  "_id": "6a534bfb9b92047c28d57b4e",
  "Package": "bifactory",
  "Title": "(Bifactor) ESEM with Continuous (MLR) or Ordered (WLSMV) Data",
  "Version": "0.5.0",
  "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 ESEM and Confirmatory Factor\nAnalysis (CFA), for continuous and ordered-categorical data.\nContinuous models use 'lavaan' native 'efa()' blocks (MLR).\nOrdered-categorical ESEM defaults to 'lavaan' WLSMV; ordered\nB-ESEM uses a custom diagonally weighted least squares (DWLS)\npath with polychoric correlations from 'psych', rotation-delta\nstandard errors via 'numDeriv', and a mean- and\nvariance-adjusted chi-square. Target, geomin, and oblimin\nrotations use 'GPArotation'; the bifactor ESEM approach follows\nMorin, 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\nICM-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",
  "RoxygenNote": "7.3.3",
  "Repository": "https://leondebeer.r-universe.dev",
  "Date/Publication": "2026-06-30 10:04:32 UTC",
  "RemoteUrl": "https://github.com/leondebeer/bifactory",
  "RemoteRef": "HEAD",
  "RemoteSha": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-12 08:05:54 UTC",
    "User": "root"
  },
  "Author": "Leon T. De Beer [aut, cre]",
  "Maintainer": "Leon T. De Beer <leondb@gmail.com>",
  "_user": "leondebeer",
  "_type": "src",
  "_file": "bifactory_0.5.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/158612e99cf73b96184d2eb6be4bd57fa1a5feee08aa80204e9c82f826488515",
  "_filesize": 533030,
  "_sha256": "158612e99cf73b96184d2eb6be4bd57fa1a5feee08aa80204e9c82f826488515",
  "_expires": "2026-10-20T08:10:33.000Z",
  "_created": "2026-07-12T08:05:54.000Z",
  "_published": "2026-07-12T08:10:35.601Z",
  "_jobs": [
    {
      "job": 86630208878,
      "time": 144,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8257815770"
    },
    {
      "job": 86630208864,
      "time": 140,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8257814938"
    },
    {
      "job": 86630208874,
      "time": 232,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8257822299"
    },
    {
      "job": 86630208886,
      "time": 141,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8257812310"
    },
    {
      "job": 86629949398,
      "time": 202,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8257794671"
    },
    {
      "job": 86630208833,
      "time": 106,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8257810314"
    },
    {
      "job": 86630208890,
      "time": 92,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8257807967"
    },
    {
      "job": 86630208888,
      "time": 83,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8257806891"
    },
    {
      "job": 86630208910,
      "time": 88,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8257807579"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912",
  "_status": "success",
  "_upstream": "https://github.com/leondebeer/bifactory",
  "_commit": {
    "id": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
    "author": "Leon T. De Beer <leondb@gmail.com>",
    "committer": "Leon T. De Beer <leondb@gmail.com>",
    "message": "docs: lead Description with bifactor ESEM; de-emphasize Mplus\n",
    "time": 1782813872
  },
  "_maintainer": {
    "name": "Leon T. De Beer",
    "email": "leondb@gmail.com",
    "login": "leondebeer",
    "description": "",
    "uuid": 67230971
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "lavaan",
      "version": ">= 0.6-21",
      "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": "MplusAutomation",
      "role": "Suggests"
    },
    {
      "package": "openxlsx2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "leondebeer",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-27",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.5.0",
      "date": "2026-06-29"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "leondebeer",
      "count": 3,
      "uuid": 67230971
    }
  ],
  "_userbio": {
    "uuid": 67230971,
    "type": "user",
    "name": "leondebeer",
    "followers": 0
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/bifactory"
  },
  "_devurl": "https://github.com/leondebeer/bifactory",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/bifactory.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/leondebeer/bifactory",
  "_realowner": "leondebeer",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.5.1",
      "date": "2026-07-11"
    }
  ],
  "_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 Ordered-Categorical 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 Ordered-Categorical (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.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"
      ]
    }
  ],
  "_readme": "https://github.com/leondebeer/bifactory/raw/HEAD/README.md",
  "_rundeps": [
    "GPArotation",
    "lattice",
    "lavaan",
    "MASS",
    "mnormt",
    "nlme",
    "numDeriv",
    "pbivnorm",
    "psych",
    "quadprog"
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "bifactory",
  "_universes": [
    "leondebeer"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-07-12T08:08:17.000Z",
      "distro": "resolute",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/2fa936593ce0f2e1e475ea0744bf4f99014974879ed27328732bd440492d422c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-07-12T08:08:18.000Z",
      "distro": "resolute",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/85dd9b05c27905a5ef070c60c26abebddae7a89ca3ac8299a426cbb165930ea7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-07-12T08:09:01.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/dc30a99f86f65126c28b6ec7a297b272693c8211f13e5b84dfb948b94cf0078f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-07-12T08:08:00.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/1c4bcfc5186e31c94970e69d59450593d8c4673fbbf95bb50cddeea645afab8f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.0",
      "date": "2026-07-12T08:08:05.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/3c8f1b9be60ab6079b01ae83db68fd4b295f7de7435a26c56e53662f4aee447f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-07-12T08:07:14.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/bb2d91999fce880e54242a7dd7f3c81cfc7559ccc711a1a59db1d5f9397e027a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-07-12T08:07:09.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/2fc9d19dbbb05e95e99080b1f920a5937344bac3cc21f83e4d83be75843ea442",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-07-12T08:07:11.000Z",
      "commit": "2366c53ca0839ef7dfbaa143154d330f24ba5d5d",
      "fileid": "https://r2.ropensci.org/bc2c711a829144722fb93fe30c8bb527e0423f61dd8d51c9d3de0cbddcd4d147",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/leondebeer/actions/runs/29185198912"
    }
  ]
}