{
  "_id": "6aefa7e1482d117aebab7e23",
  "Package": "cfcompare",
  "Title": "Compare DID, SDID, Matrix Completion and the Triply Robust Panel\nEstimator",
  "Version": "0.2.1",
  "Authors@R": "person(\"Takuma\", \"Iwasaki\", email = \"iwasakit@stanford.edu\",\nrole = c(\"aut\", \"cre\", \"cph\"))",
  "Description": "A comparison toolkit for binary-treatment panel causal\ninference. Runs difference-in-differences (DID; two-way fixed\neffects), synthetic difference-in-differences (SDID), synthetic\ncontrol (SC), matrix completion (MC), and the Triply RObust\nPanel (TROP) estimator of Athey, Imbens, Qu and Viviano (2026)\n<doi:10.1002/jae.70061> on the same data, and returns their\naverage treatment effects on the treated (ATT) on a single tidy\nschema with shared plots. TROP, DID and matrix completion are\nimplemented natively; SDID and SC are obtained through the\n'synthdid' package, and an alternative matrix-completion /\ninteractive fixed-effects estimator through 'gsynth'. The\nsuggested packages 'synthdid' and 'augsynth' are not on CRAN;\nthey can be installed from GitHub at\n<https://github.com/synth-inference/synthdid> and\n<https://github.com/ebenmichael/augsynth>, and every feature\nthat needs them is skipped with a message when they are absent.\nThis is an unofficial, independent implementation and is not\naffiliated with or endorsed by the authors of the TROP\nestimator.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "URL": "https://github.com/takuma1102/cfcompare,\nhttps://takuma1102.github.io/cfcompare/",
  "BugReports": "https://github.com/takuma1102/cfcompare/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/testthat/parallel": "true",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-07 22:32:45 UTC",
    "User": "root"
  },
  "Author": "Takuma Iwasaki [aut, cre, cph]",
  "Maintainer": "Takuma Iwasaki <iwasakit@stanford.edu>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-11-07 20:59:47 UTC",
  "RemoteUrl": "https://github.com/cran/cfcompare",
  "RemoteRef": "HEAD",
  "RemoteSha": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
  "_user": "cran",
  "_type": "src",
  "_file": "cfcompare_0.2.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/dbc670b0cd3043d2e5a8bde17848d26d82b03c82b4b8f7aa63bf902a87cdb345",
  "_filesize": 1139451,
  "_sha256": "dbc670b0cd3043d2e5a8bde17848d26d82b03c82b4b8f7aa63bf902a87cdb345",
  "_expires": "2027-02-15T22:36:14.000Z",
  "_created": "2026-11-07T22:32:45.000Z",
  "_published": "2026-11-07T22:36:17.055Z",
  "_upstream": "https://github.com/cran/cfcompare",
  "_status": "success",
  "_maintainer": {
    "name": "Takuma Iwasaki",
    "email": "iwasakit@stanford.edu"
  },
  "_jobs": [
    {
      "job": 128549614070,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13593651962"
    },
    {
      "job": 128549613991,
      "time": 154,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13593332477"
    },
    {
      "job": 128548713483,
      "time": 224,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13594130202"
    },
    {
      "job": 128549613996,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13594205266"
    },
    {
      "job": 128549614008,
      "time": 148,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13594056022"
    },
    {
      "job": 128549613982,
      "time": 152,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13593617004"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283",
  "_commit": {
    "id": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
    "author": "Takuma Iwasaki <iwasakit@stanford.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.2.1\n",
    "time": 1794085187
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "RSpectra",
      "role": "Suggests"
    },
    {
      "package": "future",
      "role": "Suggests"
    },
    {
      "package": "future.apply",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "synthdid",
      "role": "Suggests"
    },
    {
      "package": "gsynth",
      "role": "Suggests"
    },
    {
      "package": "augsynth",
      "role": "Suggests"
    },
    {
      "package": "did",
      "role": "Suggests"
    },
    {
      "package": "fixest",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-45",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.2.1",
      "date": "2026-11-07"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 636,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/cfcompare"
  },
  "_devurl": "https://github.com/takuma1102/cfcompare",
  "_pkgdown": "https://takuma1102.github.io/cfcompare/",
  "_searchresults": 4,
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/cfcompare.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",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.2.1",
      "date": "2026-11-07"
    }
  ],
  "_exports": [
    "as_att",
    "autoplot",
    "bind_att",
    "compare_se_modes",
    "counterfactual_matrix",
    "panel_compare",
    "panel_matrices",
    "panel_rmse",
    "plot_counterfactual",
    "plot_trop_surfaces",
    "predict_counterfactual",
    "rmse_curve",
    "rmse_curves",
    "selected_lambda",
    "sim_panel",
    "sim_semisynthetic",
    "surface_matrix",
    "trop",
    "trop_ablation",
    "trop_control",
    "trop_event_study",
    "trop_matrix",
    "trop_placebo_test",
    "trop_sensitivity",
    "true_att"
  ],
  "_help": [
    {
      "page": "as_att",
      "title": "Coerce estimator output to the cfcompare ATT schema",
      "topics": [
        "as_att"
      ]
    },
    {
      "page": "autoplot.cf_comparison",
      "title": "Forest plot of ATT estimates across methods",
      "topics": [
        "autoplot.cf_att_tbl",
        "autoplot.cf_comparison"
      ]
    },
    {
      "page": "autoplot.cf_rmse_curve",
      "title": "Line plot of estimation RMSE versus a design dimension",
      "topics": [
        "autoplot.cf_rmse_curve"
      ]
    },
    {
      "page": "autoplot.cf_rmse_curves",
      "title": "Autoplot for paired RMSE curves",
      "topics": [
        "autoplot.cf_rmse_curves"
      ]
    },
    {
      "page": "autoplot.cf_rmse_tbl",
      "title": "Bar chart of out-of-sample RMSE across methods",
      "topics": [
        "autoplot.cf_rmse_tbl"
      ]
    },
    {
      "page": "autoplot.cf_se_comparison",
      "title": "Plot a TROP standard-error comparison",
      "topics": [
        "autoplot.cf_se_comparison"
      ]
    },
    {
      "page": "autoplot.cf_trop_grid",
      "title": "Heatmap of the TROP penalty-sensitivity grid",
      "topics": [
        "autoplot.cf_trop_grid"
      ]
    },
    {
      "page": "autoplot.trop",
      "title": "Synthetic-control-style trajectory plot for a single TROP fit",
      "topics": [
        "autoplot.trop"
      ]
    },
    {
      "page": "autoplot.trop_event_study",
      "title": "Event-study plot for a TROP fit",
      "topics": [
        "autoplot.trop_event_study"
      ]
    },
    {
      "page": "autoplot.trop_placebo_test",
      "title": "Plot a TROP placebo test",
      "topics": [
        "autoplot.trop_placebo_test"
      ]
    },
    {
      "page": "bind_att",
      "title": "Stack ATT results into one comparison table",
      "topics": [
        "bind_att"
      ]
    },
    {
      "page": "compare_se_modes",
      "title": "Compare TROP standard-error methods on one fit",
      "topics": [
        "compare_se_modes"
      ]
    },
    {
      "page": "counterfactual_matrix",
      "title": "Estimated counterfactual (untreated potential outcome) matrix",
      "topics": [
        "counterfactual_matrix",
        "predict_counterfactual"
      ]
    },
    {
      "page": "format.trop_ablation",
      "title": "Render a TROP ablation table as paste-ready LaTeX or Markdown",
      "topics": [
        "format.trop_ablation"
      ]
    },
    {
      "page": "panel_compare",
      "title": "Compare DID, SDID, MC and TROP on the same panel",
      "topics": [
        "panel_compare"
      ]
    },
    {
      "page": "panel_matrices",
      "title": "Reshape a long panel into TROP matrices",
      "topics": [
        "panel_matrices"
      ]
    },
    {
      "page": "panel_rmse",
      "title": "Out-of-sample RMSE across panel estimators",
      "topics": [
        "panel_rmse"
      ]
    },
    {
      "page": "plot_counterfactual",
      "title": "Plot observed vs predicted counterfactual trajectories",
      "topics": [
        "plot_counterfactual"
      ]
    },
    {
      "page": "plot_trop_surfaces",
      "title": "Base-R surface views of a TROP penalty-sensitivity grid",
      "topics": [
        "plot_trop_surfaces"
      ]
    },
    {
      "page": "plot.cf_rmse_curve",
      "title": "Plot one or both estimation-RMSE curves",
      "topics": [
        "plot.cf_rmse_curve",
        "plot.cf_rmse_curves"
      ]
    },
    {
      "page": "rmse_curve",
      "title": "Estimation-RMSE curve over one design dimension",
      "topics": [
        "rmse_curve"
      ]
    },
    {
      "page": "rmse_curves",
      "title": "Estimation-RMSE curves over both design dimensions",
      "topics": [
        "rmse_curves"
      ]
    },
    {
      "page": "selected_lambda",
      "title": "CV-selected penalties from a TROP penalty-sensitivity grid",
      "topics": [
        "selected_lambda"
      ]
    },
    {
      "page": "sim_panel",
      "title": "Simulate a panel from a low-rank factor model",
      "topics": [
        "sim_panel"
      ]
    },
    {
      "page": "sim_semisynthetic",
      "title": "Build a semi-synthetic panel from real data",
      "topics": [
        "sim_semisynthetic"
      ]
    },
    {
      "page": "surface_matrix",
      "title": "Surface matrix from a TROP penalty-sensitivity grid",
      "topics": [
        "surface_matrix"
      ]
    },
    {
      "page": "trop",
      "title": "Triply RObust Panel (TROP) estimator",
      "topics": [
        "trop"
      ]
    },
    {
      "page": "trop_ablation",
      "title": "Penalty ablation for the TROP estimator",
      "topics": [
        "plot.trop_ablation",
        "print.trop_ablation",
        "trop_ablation"
      ]
    },
    {
      "page": "trop_control",
      "title": "Control settings for 'trop()'",
      "topics": [
        "trop_control"
      ]
    },
    {
      "page": "trop_event_study",
      "title": "Per-period (event-study) effects from a TROP fit",
      "topics": [
        "trop_event_study"
      ]
    },
    {
      "page": "trop_matrix",
      "title": "TROP estimate on matrix input",
      "topics": [
        "trop_matrix"
      ]
    },
    {
      "page": "trop_placebo_test",
      "title": "Placebo (randomisation) test for a TROP ATT",
      "topics": [
        "print.trop_placebo_test",
        "trop_placebo_test"
      ]
    },
    {
      "page": "trop_sensitivity",
      "title": "TROP penalty-sensitivity grid (heatmap data)",
      "topics": [
        "trop_sensitivity"
      ]
    },
    {
      "page": "true_att",
      "title": "True ATT of a (semi-)synthetic panel",
      "topics": [
        "true_att"
      ]
    }
  ],
  "_readme": "https://github.com/cran/cfcompare/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "cfcompare.Rmd",
      "filename": "cfcompare.html",
      "title": "Comparing panel estimators with cfcompare",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The problem",
        "A simulated panel",
        "Comparing estimators",
        "One estimator at a time",
        "Per-period effects (event study)",
        "Is the effect distinguishable from zero? A placebo test",
        "Comparing standard-error methods",
        "Recovering special cases",
        "Penalty ablation",
        "Adding covariates",
        "A common counterfactual across methods",
        "Bringing your own results",
        "Designs and inference",
        "Performance",
        "Reference"
      ],
      "created": "2026-11-07 20:59:47",
      "modified": "2026-11-07 20:59:47",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "cfcompare",
  "_universes": [
    "cran",
    "takuma1102"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-11-07T22:35:13.000Z",
      "distro": "resolute",
      "commit": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
      "fileid": "https://r2.ropensci.org/56049db52d24ae8fdd3dee730c49f0a00e60e1fb2d3517fcbb80b975053209bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-11-07T22:35:04.000Z",
      "distro": "resolute",
      "commit": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
      "fileid": "https://r2.ropensci.org/03b22d2943d41c0f8e45c21f6aff1714a0bfe66d84275589f1103c8e574fbfb3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.1",
      "date": "2026-11-07T22:35:14.000Z",
      "commit": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
      "fileid": "https://r2.ropensci.org/d6dbc1eadd9f5b3b49fb2f1ba8d6456d3bc674ec4c8a23b8c8240d5a5a41087e",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.1",
      "date": "2026-11-07T22:34:34.000Z",
      "commit": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
      "fileid": "https://r2.ropensci.org/8e6181a0ae4465b32058229031becb526efa8383c4cd2b960a88afd30176d3e8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "0.2.1",
      "date": "2026-11-07T22:34:38.000Z",
      "commit": "fcec6959c7df3c72954fcbbea62877bcd1b1fb7d",
      "fileid": "https://r2.ropensci.org/90c56d345ffc3acb3e5e06b8b7eae311bf4823bad5ab7b00aee0da82e751c476",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/42420811283"
    }
  ]
}