{
  "_id": "6a2bb4a05783985943197fd3",
  "Package": "MetaHunt",
  "Title": "Privacy-Preserving Meta-Analysis via Low-Rank Basis Hunting",
  "Version": "0.1.0",
  "Authors@R": "c(\nperson(\"Wenqi\", \"Shi\", , \"wenqishi18@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"Kosuke\", \"Imai\", , \"imai@harvard.edu\", role = \"aut\"),\nperson(\"Yi\", \"Zhang\", , \"yizhang0017@gmail.com\", role = \"aut\"))",
  "Description": "Tools for privacy-preserving meta-analysis of\nfunction-valued quantities across heterogeneous studies.\nImplements the 'MetaHunt' pipeline, including the denoised\nfunctional Successive Projection Algorithm (d-fSPA) for basis\nhunting, constrained weight estimation, Dirichlet regression of\nweights on study-level covariates, target prediction, and\nsplit/cross conformal prediction intervals. Operates on\naggregate-level function evaluations, so individual-level data\nfrom source studies are not required. Methodology described in\nShi, Imai, and Zhang (2026) <doi:10.48550/arXiv.2604.23847>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/WShi18/MetaHunt,\nhttps://wshi18.github.io/MetaHunt/,\nhttps://arxiv.org/abs/2604.23847",
  "BugReports": "https://github.com/WShi18/MetaHunt/issues",
  "VignetteBuilder": "knitr",
  "Repository": "https://wshi18.r-universe.dev",
  "Date/Publication": "2026-05-07 00:47:03 UTC",
  "RemoteUrl": "https://github.com/wshi18/metahunt",
  "RemoteRef": "HEAD",
  "RemoteSha": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-12 07:22:23 UTC",
    "User": "root"
  },
  "Author": "Wenqi Shi [aut, cre],\nKosuke Imai [aut],\nYi Zhang [aut]",
  "Maintainer": "Wenqi Shi <wenqishi18@gmail.com>",
  "MD5sum": "f66c6f6828e78e421a13f947b06982ab",
  "_user": "wshi18",
  "_type": "src",
  "_file": "MetaHunt_0.1.0.tar.gz",
  "_fileid": "7af295541587b58adcb5e3ceccee0e7914931671c0d6935bb85c63b09f90ab1c",
  "_filesize": 1004810,
  "_sha256": "7af295541587b58adcb5e3ceccee0e7914931671c0d6935bb85c63b09f90ab1c",
  "_created": "2026-06-12T07:22:23.000Z",
  "_published": "2026-06-12T07:26:23.977Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80979246672,
      "time": 131,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7585532537"
    },
    {
      "job": 80979246687,
      "time": 211,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585554863"
    },
    {
      "job": 80979246678,
      "time": 146,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7585530423"
    },
    {
      "job": 80979246691,
      "time": 150,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585530565"
    },
    {
      "job": 80978794668,
      "time": 190,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585494652"
    },
    {
      "job": 80979246679,
      "time": 99,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585523791"
    },
    {
      "job": 80979246826,
      "time": 100,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7585524222"
    },
    {
      "job": 80979246680,
      "time": 82,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7585518884"
    },
    {
      "job": 80979246693,
      "time": 98,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7585523514"
    }
  ],
  "_buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/wshi18/metahunt",
  "_commit": {
    "id": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
    "author": "Wenqi Shi <wenqishi18@gmail.com>",
    "committer": "Wenqi Shi <wenqishi18@gmail.com>",
    "message": "fix(cran): address Altmann's pre-acceptance review\n\n- DESCRIPTION: unquote algorithm names (Successive Projection\n  Algorithm, d-fSPA) per CRAN policy that only package / software /\n  API names are single-quoted. Package name 'MetaHunt' remains\n  quoted.\n- vignettes/metahunt-intro.Rmd: save par() before modifying it\n  (oldpar <- par(...)) and restore via par(oldpar) so the user's\n  graphical parameters are preserved across the example.\n- cran-comments.md: resubmission note documenting both fixes.\n\nAudited the rest of the package: no other par/options/setwd/\nSys.setenv/sink modifications anywhere in R/, vignettes/, or tests/\nthat could leak state into the user's session.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n",
    "time": 1778114823
  },
  "_maintainer": {
    "name": "Wenqi Shi",
    "email": "wenqishi18@gmail.com",
    "login": "wshi18",
    "description": "",
    "uuid": 229822102
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0",
      "role": "Depends"
    },
    {
      "package": "quadprog",
      "role": "Imports"
    },
    {
      "package": "DirichletReg",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "grf",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "wshi18",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 11
    },
    {
      "week": "2026-19",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-05-03"
    }
  ],
  "_stars": 2,
  "_contributors": [
    {
      "user": "wshi18",
      "count": 12,
      "uuid": 229822102
    }
  ],
  "_userbio": {
    "uuid": 229822102,
    "type": "user",
    "name": "WShi18"
  },
  "_downloads": {
    "count": 501,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/MetaHunt"
  },
  "_devurl": "https://github.com/wshi18/metahunt",
  "_pkgdown": "https://wshi18.github.io/MetaHunt/",
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/MetaHunt.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/wshi18/metahunt",
  "_realowner": "wshi18",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-05-12"
    }
  ],
  "_exports": [
    "apply_wrapper",
    "build_grid",
    "conformal_from_fit",
    "coverage",
    "cross_conformal",
    "cv_error_curve",
    "dfspa",
    "f_hat_from_models",
    "fit_weight_model",
    "metahunt",
    "minmax_regret",
    "predict_target",
    "project_to_simplex",
    "reconstruction_error_curve",
    "select_denoising_params",
    "split_conformal"
  ],
  "_help": [
    {
      "page": "apply_wrapper",
      "title": "Reduce predicted functions to scalars via a user-supplied wrapper",
      "topics": [
        "apply_wrapper"
      ]
    },
    {
      "page": "build_grid",
      "title": "Build a shared evaluation grid from a reference dataset",
      "topics": [
        "build_grid"
      ]
    },
    {
      "page": "coef.metahunt_weight_model",
      "title": "Extract coefficients from a MetaHunt weight model",
      "topics": [
        "coef.metahunt_weight_model"
      ]
    },
    {
      "page": "conformal_from_fit",
      "title": "Split conformal intervals from a pre-fit MetaHunt pipeline",
      "topics": [
        "conformal_from_fit"
      ]
    },
    {
      "page": "coverage",
      "title": "Empirical coverage of a conformal prediction-interval object",
      "topics": [
        "coverage"
      ]
    },
    {
      "page": "cross_conformal",
      "title": "Cross-conformal prediction intervals (pooled K-fold scores)",
      "topics": [
        "cross_conformal"
      ]
    },
    {
      "page": "cv_error_curve",
      "title": "Cross-validated prediction-error curve for basis-rank selection",
      "topics": [
        "cv_error_curve"
      ]
    },
    {
      "page": "dfspa",
      "title": "Denoised functional Successive Projection Algorithm (d-fSPA)",
      "topics": [
        "dfspa"
      ]
    },
    {
      "page": "f_hat_from_models",
      "title": "Build the 'F_hat' matrix from a list of fitted study-level models",
      "topics": [
        "f_hat_from_models"
      ]
    },
    {
      "page": "fit_weight_model",
      "title": "Fit a weight model mapping study-level covariates to simplex weights",
      "topics": [
        "fit_weight_model"
      ]
    },
    {
      "page": "metahunt",
      "title": "Fit the full MetaHunt pipeline",
      "topics": [
        "metahunt"
      ]
    },
    {
      "page": "minmax_regret",
      "title": "Minimax-regret aggregator for multisite function-valued estimands",
      "topics": [
        "minmax_regret"
      ]
    },
    {
      "page": "plot.metahunt",
      "title": "Plot recovered basis functions from a MetaHunt fit",
      "topics": [
        "plot.metahunt"
      ]
    },
    {
      "page": "plot.metahunt_conformal",
      "title": "Plot a conformal prediction-interval object",
      "topics": [
        "plot.metahunt_conformal"
      ]
    },
    {
      "page": "predict_target",
      "title": "Predict the target function for new study-level covariates",
      "topics": [
        "predict_target"
      ]
    },
    {
      "page": "predict.metahunt",
      "title": "Predict target functions (or scalar summaries) from a MetaHunt fit",
      "topics": [
        "predict.metahunt"
      ]
    },
    {
      "page": "predict.metahunt_weight_model",
      "title": "Predict simplex weights for new study-level covariates",
      "topics": [
        "predict.metahunt_weight_model"
      ]
    },
    {
      "page": "print.metahunt_denoising_search",
      "title": "Print method for d-fSPA denoising parameter search results",
      "topics": [
        "print.metahunt_denoising_search"
      ]
    },
    {
      "page": "print.summary.metahunt",
      "title": "Print a 'summary.metahunt' object",
      "topics": [
        "print.summary.metahunt"
      ]
    },
    {
      "page": "project_to_simplex",
      "title": "Project study-level functions onto the simplex spanned by basis functions",
      "topics": [
        "project_to_simplex"
      ]
    },
    {
      "page": "reconstruction_error_curve",
      "title": "Reconstruction-error curve for basis-rank selection",
      "topics": [
        "reconstruction_error_curve"
      ]
    },
    {
      "page": "select_denoising_params",
      "title": "Choose d-fSPA denoising parameters by cross-validation",
      "topics": [
        "select_denoising_params"
      ]
    },
    {
      "page": "split_conformal",
      "title": "Split conformal prediction intervals for target-function predictions",
      "topics": [
        "split_conformal"
      ]
    },
    {
      "page": "summary.metahunt",
      "title": "Summarise a MetaHunt fit",
      "topics": [
        "summary.metahunt"
      ]
    },
    {
      "page": "summary.metahunt_conformal",
      "title": "Summarise a conformal prediction-interval object",
      "topics": [
        "summary.metahunt_conformal"
      ]
    }
  ],
  "_pkglogo": "https://github.com/wshi18/metahunt/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/wshi18/metahunt/raw/HEAD/README.md",
  "_rundeps": [
    "digest",
    "DirichletReg",
    "Formula",
    "generics",
    "lattice",
    "maxLik",
    "miscTools",
    "quadprog",
    "sandwich",
    "withr",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "metahunt-intro.Rmd",
      "filename": "metahunt-intro.html",
      "title": "An introduction to MetaHunt",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The problem: function-valued meta-analysis",
        "Key assumptions",
        "A1. Low-rank cross-study heterogeneity",
        "A2. Weight model",
        "A3. Exchangeability",
        "A4. Estimation error control",
        "The three-step pipeline",
        "Step 1. Basis hunting via d-fSPA",
        "Step 2. Fitting weight model",
        "Step 3. Target prediction",
        "A worked end-to-end example",
        "Where to next",
        "References"
      ],
      "created": "2026-04-28 02:58:43",
      "modified": "2026-05-07 00:47:03",
      "commits": 3
    },
    {
      "source": "choosing-k-denoising.Rmd",
      "filename": "choosing-k-denoising.html",
      "title": "Choosing K and the denoising parameters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why this matters",
        "A small standalone simulation",
        "Unsupervised diagnostic: reconstruction error vs K",
        "Supervised diagnostic: cross-validated prediction error vs K",
        "The d-fSPA denoising knobs (N, Delta)",
        "Bypassing denoising",
        "Setting (N, Delta) by hand",
        "Tuning (N, Delta) by CV",
        "Practical recipe",
        "See also"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    },
    {
      "source": "conformal-prediction.Rmd",
      "filename": "conformal-prediction.html",
      "title": "Conformal prediction with different choices",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why conformal prediction here",
        "A small standalone simulation",
        "The three flavours",
        "Split conformal",
        "Cross conformal",
        "Pre-fit conformal",
        "Pointwise vs scalar bands",
        "Small-m warning on cal_frac",
        "See also"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    },
    {
      "source": "get-started.Rmd",
      "filename": "get-started.html",
      "title": "Get started with MetaHunt",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What this is",
        "Inputs in 30 seconds",
        "A minimal end-to-end run",
        "Visualising the result",
        "Where to next"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    },
    {
      "source": "data-prep.Rmd",
      "filename": "data-prep.html",
      "title": "Preparing your data: from fitted models to F_hat",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why this step matters",
        "build_grid()",
        "f_hat_from_models()",
        "Dispatch table",
        "ranger example (not run)",
        "grf::causal_forest example (not run)",
        "Worked lm example",
        "predict_fn for custom S4 / bespoke classes",
        "Multi-dimensional grids (3 covariates)",
        "Sanity checks",
        "Common pitfalls"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    },
    {
      "source": "wrapper-scalar.Rmd",
      "filename": "wrapper-scalar.html",
      "title": "Scalar summaries with wrapper",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why scalar summaries",
        "The wrapper protocol",
        "An ATE example with grf::causal_forest",
        "Three custom wrappers",
        "Plain mean",
        "Restricted positive mean",
        "Endpoint contrast",
        "Conformal coverage with a wrapper",
        "Pointwise vs scalar — quick reference",
        "See also"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    },
    {
      "source": "grid-weights.Rmd",
      "filename": "grid-weights.html",
      "title": "Understanding grid_weights and the L2(mu) norm",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What grid_weights does",
        "When the default is fine",
        "When non-uniform grid_weights matter",
        "A worked comparison: uniform vs non-uniform",
        "Practical guidance",
        "Functions that accept grid_weights"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-05-03 01:53:35",
      "commits": 2
    },
    {
      "source": "minmax-baseline.Rmd",
      "filename": "minmax-baseline.html",
      "title": "When to prefer minmax_regret",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What minmax_regret() does",
        "When to use which",
        "A small standalone simulation",
        "Running minmax_regret()",
        "Visual comparison: minmax_regret vs metahunt",
        "Small-m users",
        "See also"
      ],
      "created": "2026-04-29 19:59:21",
      "modified": "2026-04-29 19:59:21",
      "commits": 1
    }
  ],
  "_score": 5.204119982655925,
  "_indexed": true,
  "_nocasepkg": "metahunt",
  "_universes": [
    "wshi18"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-06-12T07:24:25.000Z",
      "distro": "noble",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "c68551b3cbc1015364d916e5e98945eb472f6da87ec9d152503b1c61f956b762",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-06-12T07:25:48.000Z",
      "distro": "noble",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "a37208c0530dc2d31145cbdef809d68a731cfb41b0c9e53b825a779d8d575550",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-06-12T07:24:24.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "32bebb5d3c5c1b4eacad5157bd55cd9befa60a9e2b140e405d67dba71f5d4ad9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-06-12T07:24:24.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "a69ccd6a72ba492c384b5795cf7d201356eb1d672646127d9086864ff83a24b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-06-12T07:24:19.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "e54fa1e546072dfb94ec0bd7e87b73765d2065ccf4bb45dd055b659eb52f64e2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-06-12T07:23:44.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "8269cb62634d9449698fb0f898d68637ae5c2c0313dc0be646d5282ca4897f11",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-06-12T07:23:29.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "4bd8932046577097582ccf82a584ff42590bc3fb581482ec8e27b9553324bd4b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-06-12T07:23:41.000Z",
      "commit": "ea2aa310d6eb9d816554df9e0b6149a102b0c7af",
      "fileid": "08619e77365dd8771622c2e74d93bcb4dbb7f69de232cfc416b61a23c2459ae2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/wshi18/actions/runs/27400980298"
    }
  ]
}