{
  "_id": "6adc02e01f8fc22f6383d807",
  "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",
  "Roxygen": "list(markdown = TRUE)",
  "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",
  "Repository": "https://takuma1102.r-universe.dev",
  "Date/Publication": "2026-10-23 23:40:44 UTC",
  "RemoteUrl": "https://github.com/takuma1102/cfcompare",
  "RemoteRef": "HEAD",
  "RemoteSha": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-24 00:55:31 UTC",
    "User": "root"
  },
  "Author": "Takuma Iwasaki [aut, cre, cph]",
  "Maintainer": "Takuma Iwasaki <iwasakit@stanford.edu>",
  "_user": "takuma1102",
  "_type": "src",
  "_file": "cfcompare_0.2.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/391ade202b13a91036559a8c9728e1a960bf39ebacc5b42763966a1083b32b2d",
  "_filesize": 1139411,
  "_sha256": "391ade202b13a91036559a8c9728e1a960bf39ebacc5b42763966a1083b32b2d",
  "_expires": "2027-02-01T00:59:10.000Z",
  "_created": "2026-10-24T00:55:31.000Z",
  "_published": "2026-10-24T00:59:12.047Z",
  "_upstream": "https://github.com/takuma1102/cfcompare",
  "_status": "success",
  "_maintainer": {
    "name": "Takuma Iwasaki",
    "email": "iwasakit@stanford.edu"
  },
  "_jobs": [
    {
      "job": 120732130673,
      "time": 151,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12542155648"
    },
    {
      "job": 120732130604,
      "time": 180,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12541753800"
    },
    {
      "job": 120732130719,
      "time": 140,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12541793533"
    },
    {
      "job": 120732130675,
      "time": 146,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12541138988"
    },
    {
      "job": 120730773003,
      "time": 321,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12542240003"
    },
    {
      "job": 120732130641,
      "time": 125,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12542126378"
    },
    {
      "job": 120732130691,
      "time": 140,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12542135809"
    },
    {
      "job": 120732130619,
      "time": 133,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12541763545"
    },
    {
      "job": 120732130643,
      "time": 149,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12541579294"
    }
  ],
  "_buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544",
  "_commit": {
    "id": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
    "author": "takuma1102 <takuma.iwasaki1102@gmail.com>",
    "committer": "takuma1102 <takuma.iwasaki1102@gmail.com>",
    "message": "Search-friendly site title and description\n",
    "time": 1792798844
  },
  "_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": "takuma1102",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-26",
      "n": 45
    },
    {
      "week": "2026-27",
      "n": 87
    },
    {
      "week": "2026-28",
      "n": 21
    },
    {
      "week": "2026-43",
      "n": 8
    }
  ],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "takuma1102",
      "count": 161,
      "uuid": 94999658
    }
  ],
  "_userbio": {
    "uuid": 94999658,
    "type": "user",
    "name": "Takuma Iwasaki",
    "followers": 0,
    "description": "Stanford Law School - JSD candidate"
  },
  "_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.1",
  "_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,
  "_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"
      ]
    }
  ],
  "_pkglogo": "https://github.com/takuma1102/cfcompare/raw/HEAD/man/figures/compare_forest.png",
  "_readme": "https://github.com/takuma1102/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-06-26 14:37:58",
      "modified": "2026-10-23 23:21:37",
      "commits": 12
    }
  ],
  "_score": 3.3010299956639813,
  "_indexed": true,
  "_nocasepkg": "cfcompare",
  "_universes": [
    "takuma1102"
  ],
  "_previous": "0.2.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:47.000Z",
      "distro": "resolute",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/e758a447f1d1f312be26762b80f1816d5e4e8d7effaa7f61cc8419d59d9af598",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.1",
      "date": "2026-10-24T00:58:01.000Z",
      "distro": "resolute",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/af81938e539a7628b82828abaaa7e67dd179fb63f80b1418c18f9200891ea534",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:25.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/890ab2f7cdc7890e6b1e499c052284dde761b0568591a59e054d18aac051a366",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:28.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/69825c7775100605398e800e92f48c15389dccf88b5914a9d55d7f0270084701",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:53.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/377177873dde1bc6da0cab3ecc34191ebc8b68dfab9af45b1511bfa22fd9c5e6",
      "status": "success",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:06.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/5c7420f27cca0e097cd3503fa1844780c357cdd876a50e24b4991a184481ee68",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:04.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/7d1211efe592c468d4ac602357c1855a6b7fe8c4ea6f2a0647782bcd5bbfa002",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.1",
      "date": "2026-10-24T00:57:16.000Z",
      "commit": "8350f28be58d50a7427bb0639c63cf2f91f18b51",
      "fileid": "https://r2.ropensci.org/610f5e6781a612ed75350ec060c4228f334d19f39b04f691077d0ac4f432085e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/takuma1102/actions/runs/40046911544"
    }
  ]
}