{
  "_id": "6ac0ca5191601a2ad2998e1f",
  "Package": "convergenceDFM",
  "Type": "Package",
  "Title": "Convergence and Dynamic Factor Models",
  "Version": "0.3.2",
  "Authors@R": "person(\"José Mauricio\", \"Gómez Julián\", email = \"isadore.nabi@pm.me\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0009-0000-2412-3150\"))",
  "Description": "Tests convergence in macro-financial panels combining\nDynamic Factor Models (DFM) and mean-reverting, discrete-time\nOrnstein-Uhlenbeck/AR(1) factor processes. Provides: (i) static\nfactor extraction with VAR stability checks, Portmanteau tests\nand rolling out-of-sample R^2, in the spirit of Stock and\nWatson (2002) <doi:10.1198/073500102317351921> and the\nGeneralized Dynamic Factor Model of Forni, Hallin, Lippi and\nReichlin (2000) <doi:10.1162/003465300559037>; (ii)\ncointegration analysis a la Johansen (1988)\n<doi:10.1016/0165-1889(88)90041-3>; (iii) Bayesian\nfactor-OU/AR(1) estimation with convergence and half-life\nsummaries grounded in Uhlenbeck and Ornstein (1930)\n<doi:10.1103/PhysRev.36.823> and Vasicek (1977)\n<doi:10.1016/0304-405X(77)90016-2>, with full Markov chain\nMonte Carlo convergence diagnostics; (iv)\nheteroskedasticity-consistent (HC) and, when the suggested\n'sandwich' (Zeileis (2004) <doi:10.18637/jss.v011.i10>) and\n'lmtest' packages are available, heteroskedasticity- and\nautocorrelation- consistent (HAC) robust inference, with a\nself-contained HC fallback; (v) coupling significance tests\nbased on time-shift / block-bootstrap nulls that preserve\nmarginal dynamics while breaking cross-series dependence; and\n(vi) optional PLS-based factor preselection (Mevik and Wehrens\n(2007) <doi:10.18637/jss.v018.i02>). Functions emphasize\nreproducibility (explicit seeds throughout) and clear,\npublication-ready summaries.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Additional_repositories": "https://mc-stan.org/r-packages/",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "no",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://isadorenabi.r-universe.dev",
  "Date/Publication": "2026-07-31 20:08:44 UTC",
  "RemoteUrl": "https://github.com/IsadoreNabi/convergenceDFM",
  "RemoteRef": "HEAD",
  "RemoteSha": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
  "Packaged": {
    "Date": "2026-10-03 09:21:47 UTC",
    "User": "root"
  },
  "Author": "José Mauricio Gómez Julián [aut, cre] (ORCID:\n<https://orcid.org/0009-0000-2412-3150>)",
  "Maintainer": "José Mauricio Gómez Julián <isadore.nabi@pm.me>",
  "_user": "isadorenabi",
  "_type": "src",
  "_file": "convergenceDFM_0.3.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/ba44fd5e9cb5ccb4e2f73701074c670193abb4bedb75f8f901aae6286ad990dc",
  "_filesize": 402368,
  "_sha256": "ba44fd5e9cb5ccb4e2f73701074c670193abb4bedb75f8f901aae6286ad990dc",
  "_expires": "2027-01-11T09:26:39.000Z",
  "_created": "2026-10-03T09:21:47.000Z",
  "_published": "2026-10-03T09:26:41.052Z",
  "_jobs": [
    {
      "job": 111173878263,
      "time": 242,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11271170338"
    },
    {
      "job": 111173878327,
      "time": 250,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11270935836"
    },
    {
      "job": 111173878265,
      "time": 171,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11270540737"
    },
    {
      "job": 111173878309,
      "time": 186,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11270890777"
    },
    {
      "job": 111173209216,
      "time": 250,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11270560990"
    },
    {
      "job": 111173878297,
      "time": 137,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11270351018"
    },
    {
      "job": 111173878356,
      "time": 163,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11270231240"
    },
    {
      "job": 111173878288,
      "time": 224,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11270124932"
    },
    {
      "job": 111173878355,
      "time": 214,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11271105554"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295",
  "_status": "success",
  "_upstream": "https://github.com/IsadoreNabi/convergenceDFM",
  "_commit": {
    "id": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
    "author": "José Mauricio Gómez Julián <isadore.nabi@pm.me>",
    "committer": "José Mauricio Gómez Julián <isadore.nabi@pm.me>",
    "message": "Add full licence text so the licence is machine-detectable on GitHub",
    "time": 1785528524
  },
  "_maintainer": {
    "name": "José Mauricio Gómez Julián",
    "email": "isadore.nabi@pm.me",
    "login": "isadorenabi",
    "orcid": "0009-0000-2412-3150",
    "description": "Economist and Data Scientist. 13 R packages on CRAN: Bayesian statistics, time series, topology, causal inference. Philosophy of science and political economy.",
    "uuid": 77359677
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "pls",
      "role": "Imports"
    },
    {
      "package": "vars",
      "role": "Imports"
    },
    {
      "package": "urca",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "zoo",
      "role": "Imports"
    },
    {
      "package": "BayesianDisaggregation",
      "version": ">= 0.2.1",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "cmdstanr",
      "role": "Suggests"
    },
    {
      "package": "posterior",
      "role": "Suggests"
    },
    {
      "package": "rstan",
      "role": "Suggests"
    },
    {
      "package": "sandwich",
      "role": "Suggests"
    },
    {
      "package": "lmtest",
      "role": "Suggests"
    }
  ],
  "_owner": "isadorenabi",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2026-23",
      "n": 1
    },
    {
      "week": "2026-25",
      "n": 2
    },
    {
      "week": "2026-26",
      "n": 1
    },
    {
      "week": "2026-31",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.4",
      "date": "2025-12-02"
    }
  ],
  "_topics": [
    "dynamic-factor-model",
    "econometrics"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "isadorenabi",
      "count": 7,
      "uuid": 77359677
    }
  ],
  "_userbio": {
    "uuid": 77359677,
    "type": "user",
    "name": "José Mauricio Gómez Julián",
    "followers": 1,
    "description": "Economist and Data Scientist. 13 R packages on CRAN: Bayesian statistics, time series, topology, causal inference. Philosophy of science and political economy."
  },
  "_downloads": {
    "count": 374,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/convergenceDFM"
  },
  "_devurl": "https://github.com/isadorenabi/convergencedfm",
  "_searchresults": 4,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/convergenceDFM.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/isadorenabi/convergencedfm",
  "_realowner": "isadorenabi",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.4",
      "date": "2025-12-01"
    },
    {
      "version": "0.3.2",
      "date": "2026-06-26"
    }
  ],
  "_exports": [
    "build_cluster_map",
    "choose_var_lag",
    "compute_wedge",
    "deltaR2_ou",
    "diagnose_data",
    "estimate_DFM",
    "estimate_factor_OU",
    "make_X_innovations",
    "placebo_values",
    "plot_error_correction_panel",
    "read_cpi",
    "rescue_short_run_channel",
    "rotation_null_test",
    "row_norm1",
    "run_complete_factor_analysis_robust",
    "run_convergence_robustness_tests",
    "run_rotation_null_on_results",
    "select_optimal_components_safe",
    "test_cointegration_control",
    "test_jackknife_sectors",
    "test_leave_cluster_out",
    "test_permutation_robustness",
    "test_reweighting_robustness",
    "to_num_commas",
    "visualize_factor_dynamics",
    "visualize_factor_dynamics_simple",
    "wedge_stationarity"
  ],
  "_help": [
    {
      "page": "build_cluster_map",
      "title": "Build a fallback sector-to-cluster map",
      "topics": [
        "build_cluster_map"
      ]
    },
    {
      "page": "choose_var_lag",
      "title": "Select optimal VAR lag order with multiple criteria",
      "topics": [
        "choose_var_lag"
      ]
    },
    {
      "page": "compute_wedge",
      "title": "Construct the transformation wedge W = Phi - V = K * G' - p",
      "topics": [
        "compute_wedge"
      ]
    },
    {
      "page": "deltaR2_ou",
      "title": "Incremental R-squared from X in OU model",
      "topics": [
        "deltaR2_ou"
      ]
    },
    {
      "page": "diagnose_data",
      "title": "Diagnose and prepare data matrices",
      "topics": [
        "diagnose_data"
      ]
    },
    {
      "page": "estimate_DFM",
      "title": "Estimate Dynamic Factor Model with VAR dynamics",
      "topics": [
        "estimate_DFM"
      ]
    },
    {
      "page": "estimate_factor_OU",
      "title": "Estimate Factor Ornstein-Uhlenbeck / AR(1) model (Stan if available)",
      "topics": [
        "estimate_factor_OU"
      ]
    },
    {
      "page": "make_X_innovations",
      "title": "Extract X innovations (reduced-form VAR residuals)",
      "topics": [
        "make_X_innovations"
      ]
    },
    {
      "page": "placebo_values",
      "title": "Aggregate-preserving placebo values (negative controls for gravitation)",
      "topics": [
        "placebo_values"
      ]
    },
    {
      "page": "plot_error_correction_panel",
      "title": "Plot error correction panel",
      "topics": [
        "plot_error_correction_panel"
      ]
    },
    {
      "page": "read_cpi",
      "title": "Read CPI data from an Excel file",
      "topics": [
        "read_cpi"
      ]
    },
    {
      "page": "rescue_short_run_channel",
      "title": "Rescue short-run channel test",
      "topics": [
        "rescue_short_run_channel"
      ]
    },
    {
      "page": "rotation_null_test",
      "title": "Null hypothesis test for X->Y factor coupling",
      "topics": [
        "rotation_null_test"
      ]
    },
    {
      "page": "row_norm1",
      "title": "Normalize matrix rows to sum to one",
      "topics": [
        "row_norm1"
      ]
    },
    {
      "page": "run_complete_factor_analysis_robust",
      "title": "Complete factor-OU convergence analysis pipeline",
      "topics": [
        "run_complete_factor_analysis_robust"
      ]
    },
    {
      "page": "run_convergence_robustness_tests",
      "title": "Run comprehensive robustness test suite",
      "topics": [
        "run_convergence_robustness_tests"
      ]
    },
    {
      "page": "run_rotation_null_on_results",
      "title": "Run the coupling null test on complete analysis results",
      "topics": [
        "run_rotation_null_on_results"
      ]
    },
    {
      "page": "select_optimal_components_safe",
      "title": "Select optimal number of PLS components with cross-validation",
      "topics": [
        "select_optimal_components_safe"
      ]
    },
    {
      "page": "test_cointegration_control",
      "title": "Classical cointegration control (Johansen trace or eigen)",
      "topics": [
        "test_cointegration_control"
      ]
    },
    {
      "page": "test_jackknife_sectors",
      "title": "Delete-one-sector jackknife of the X->Y coupling",
      "topics": [
        "test_jackknife_sectors"
      ]
    },
    {
      "page": "test_leave_cluster_out",
      "title": "Leave-cluster-out robustness of the X->Y coupling",
      "topics": [
        "test_leave_cluster_out"
      ]
    },
    {
      "page": "test_permutation_robustness",
      "title": "Permutation-based robustness test for X->Y coupling",
      "topics": [
        "test_permutation_robustness"
      ]
    },
    {
      "page": "test_reweighting_robustness",
      "title": "Reweighting-based robustness test",
      "topics": [
        "test_reweighting_robustness"
      ]
    },
    {
      "page": "to_num_commas",
      "title": "Convert localized number strings to numeric",
      "topics": [
        "to_num_commas"
      ]
    },
    {
      "page": "visualize_factor_dynamics",
      "title": "Visualize factor dynamics comprehensively",
      "topics": [
        "visualize_factor_dynamics"
      ]
    },
    {
      "page": "visualize_factor_dynamics_simple",
      "title": "Simple factor dynamics visualization",
      "topics": [
        "visualize_factor_dynamics_simple"
      ]
    },
    {
      "page": "wedge_stationarity",
      "title": "Per-sector and panel stationarity / mean-reversion of the wedge",
      "topics": [
        "wedge_stationarity"
      ]
    }
  ],
  "_readme": "https://github.com/IsadoreNabi/convergenceDFM/raw/HEAD/README.md",
  "_rundeps": [
    "BayesianDisaggregation",
    "cellranger",
    "cli",
    "cpp11",
    "crayon",
    "dplyr",
    "generics",
    "glue",
    "hms",
    "lattice",
    "lifecycle",
    "lmtest",
    "magrittr",
    "MASS",
    "nlme",
    "pillar",
    "pkgconfig",
    "pls",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "readxl",
    "rematch",
    "rlang",
    "sandwich",
    "stringi",
    "stringr",
    "strucchange",
    "tibble",
    "tidyr",
    "tidyselect",
    "urca",
    "utf8",
    "vars",
    "vctrs",
    "withr",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "canonical-disaggregation-and-leave-cluster-out.Rmd",
      "filename": "canonical-disaggregation-and-leave-cluster-out.html",
      "title": "Canonical disaggregation and the Leave-Cluster-Out test",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. One disaggregation engine, not two",
        "Where the engine is used here",
        "2. Leave-Cluster-Out",
        "Why a cluster, not a single sector",
        "The cluster map is pluggable",
        "A documented fallback until the MIP arrives",
        "Reading the statistical layer honestly"
      ],
      "created": "2026-06-18 18:42:11",
      "modified": "2026-06-18 18:42:11",
      "commits": 1
    },
    {
      "source": "convergence-analysis.Rmd",
      "filename": "convergence-analysis.html",
      "title": "Introduction to Convergence Analysis with convergenceDFM",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Basic usage",
        "Coupling significance (corrected null)",
        "Convergence test",
        "Methodological notes and design decisions",
        "Reproducibility"
      ],
      "created": "2025-12-02 15:40:21",
      "modified": "2026-06-04 17:06:55",
      "commits": 2
    }
  ],
  "_score": 4.698970004336019,
  "_indexed": true,
  "_nocasepkg": "convergencedfm",
  "_universes": [
    "isadorenabi"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:43.000Z",
      "distro": "resolute",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/264fbbb2510ff01559fe28f85676d52883776c6c6b52c34700905264ade5eeb7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:45.000Z",
      "distro": "resolute",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/406c82a1a6fc82ba54346a34a2b48e5dcfbe26561b430c7f45ac8cdd1fc0b224",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.2",
      "date": "2026-10-03T09:23:53.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/1c8d007578bd0d00127ff153bb0fb2845950a695fec2b06e4189287bd92e9e21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:00.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/56d0f5b1ca3713965e0ed609b991186ce7047f39843f1fba4f9362d62532f00e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:30.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/bcbdd4a67ccfeed33062476fbea32ac1d575ab302fd51516e7a15cb9d06b4067",
      "status": "success",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:02.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/b1b340f84c14ab8913c875f6de3e0ef566fdd56846f390f2dfec6b42ed018c27",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:37.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/0c6da6805bfdbcabd1669d84f2b4d771229905a33a7db4c891da2d943756f369",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.2",
      "date": "2026-10-03T09:24:28.000Z",
      "commit": "e01aa2c0a6f632b3595c4d52b5f4f2ab0905569b",
      "fileid": "https://r2.ropensci.org/6019b1a8630f76e9938b96858464e7a16809249cb7f955fd03d8d810cedc0ffa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/isadorenabi/actions/runs/37112557295"
    }
  ]
}