{
  "_id": "6ac2cbbed743750d376d9643",
  "Package": "positively",
  "Title": "Diagnose Positivity Violations and Extrapolation in Causal\nInference",
  "Version": "0.0.0.9000",
  "Authors@R": "person(\"Malcolm\", \"Barrett\", , \"malcolmbarrett@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-0299-5825\"))",
  "Description": "Provides diagnostics for positivity violations and\nextrapolation in causal inference. Includes methods based on\neffective data points, positivity regression trees, hat values,\nhighest density regions, density ratios, and parametric\nbootstrap bias estimates, covering binary, categorical, and\ncontinuous exposures as well as time-varying treatments. Each\ndiagnostic returns a tidy result object and an optional plot.",
  "License": "MIT + file LICENSE",
  "URL": "https://r-causal.github.io/positively/,\nhttps://github.com/r-causal/positively",
  "BugReports": "https://github.com/r-causal/positively/issues",
  "VignetteBuilder": "knitr",
  "Remotes": [
    "r-causal/causalgenerics",
    "r-causal/propensity"
  ],
  "Config/roxygen2/version": "8.1.0",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "Repository": "https://r-causal.r-universe.dev",
  "Date/Publication": "2026-10-04 21:01:13 UTC",
  "RemoteUrl": "https://github.com/r-causal/positively",
  "RemoteRef": "HEAD",
  "RemoteSha": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-04 21:45:17 UTC",
    "User": "root"
  },
  "Author": "Malcolm Barrett [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-0299-5825>)",
  "Maintainer": "Malcolm Barrett <malcolmbarrett@gmail.com>",
  "_user": "r-causal",
  "_type": "src",
  "_file": "positively_0.0.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/8caa34e44ebcc57871b138ffac33b07ca2427ac07d99fdcf08a6f88572bc06ab",
  "_filesize": 2158386,
  "_sha256": "8caa34e44ebcc57871b138ffac33b07ca2427ac07d99fdcf08a6f88572bc06ab",
  "_expires": "2027-01-12T21:57:16.000Z",
  "_created": "2026-10-04T21:45:17.000Z",
  "_published": "2026-10-04T21:57:17.937Z",
  "_jobs": [
    {
      "job": 111539140449,
      "time": 407,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11316591601"
    },
    {
      "job": 111539140396,
      "time": 385,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11316107931"
    },
    {
      "job": 111539140371,
      "time": 299,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11316621053"
    },
    {
      "job": 111539140380,
      "time": 297,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11316112707"
    },
    {
      "job": 111538259173,
      "time": 278,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11316630426"
    },
    {
      "job": 111539140416,
      "time": 116,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11316675366"
    },
    {
      "job": 111539140444,
      "time": 678,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11315979163"
    },
    {
      "job": 111539140448,
      "time": 508,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11316147929"
    },
    {
      "job": 111539140438,
      "time": 644,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11315613967"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455",
  "_status": "success",
  "_upstream": "https://github.com/r-causal/positively",
  "_commit": {
    "id": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
    "author": "Malcolm Barrett <malcolmbarrett@gmail.com>",
    "committer": "Malcolm Barrett <malcolmbarrett@gmail.com>",
    "message": "Merge branch 'add-package-logo' into HEAD\n",
    "time": 1791147673
  },
  "_maintainer": {
    "name": "Malcolm Barrett",
    "email": "malcolmbarrett@gmail.com",
    "login": "malcolmbarrett",
    "mastodon": "@malcolmbarrett@mstdn.jp",
    "bluesky": "@malcolmbarrett.malco.io",
    "orcid": "0000-0003-0299-5825",
    "description": "Open-source data science. Ph.D. in Epidemiology",
    "uuid": 23123711
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3.0",
      "role": "Depends"
    },
    {
      "package": "causalgenerics",
      "version": ">= 0.1.0.9000",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rpart",
      "role": "Imports"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.0",
      "role": "Suggests"
    },
    {
      "package": "ggridges",
      "role": "Suggests"
    },
    {
      "package": "halfmoon",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lmtp",
      "role": "Suggests"
    },
    {
      "package": "lpSolve",
      "role": "Suggests"
    },
    {
      "package": "nnet",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "propensity",
      "version": ">= 0.1.0.9000",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "r-causal",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-27",
      "n": 3
    },
    {
      "week": "2026-28",
      "n": 26
    },
    {
      "week": "2026-29",
      "n": 24
    },
    {
      "week": "2026-30",
      "n": 4
    },
    {
      "week": "2026-31",
      "n": 41
    },
    {
      "week": "2026-32",
      "n": 15
    },
    {
      "week": "2026-33",
      "n": 12
    },
    {
      "week": "2026-36",
      "n": 1
    },
    {
      "week": "2026-40",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "malcolmbarrett",
      "count": 152,
      "uuid": 23123711
    }
  ],
  "_userbio": {
    "uuid": 129535100,
    "type": "organization",
    "name": "Causal Inference in R",
    "followers": 176,
    "description": "Tools and educational material for causal inference in R"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/positively"
  },
  "_devurl": "https://github.com/r-causal/positively",
  "_pkgdown": "https://r-causal.github.io/positively/",
  "_searchresults": 12,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/positively.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "autoplot",
    "check_density_ratios",
    "check_edp",
    "check_eta_bias",
    "check_extrapolation",
    "check_hat_values",
    "check_hdr",
    "check_hdr_seq",
    "check_port",
    "check_port_seq",
    "check_positivity",
    "glance",
    "hdr_density_normal",
    "new_hdr_density",
    "positivity_check",
    "positivity_diagnostic",
    "pull_plot_data",
    "sniff_violations",
    "tidy"
  ],
  "_datasets": [
    {
      "name": "pos_violations",
      "title": "Binary-exposure data with planted positivity violations",
      "object": "pos_violations",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "exposure",
        "x1",
        "x2",
        "region"
      ],
      "rows": 1000,
      "table": true,
      "tojson": true
    },
    {
      "name": "pos_violations_long",
      "title": "Longitudinal continuous-exposure data with a time-2 support gap",
      "object": "pos_violations_long",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "l0",
        "a1",
        "l1",
        "a2",
        "l2",
        "a3"
      ],
      "rows": 500,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "autoplot.density_ratios_result",
      "title": "Plot a density-ratio diagnostic",
      "topics": [
        "autoplot.density_ratios_result",
        "plot.density_ratios_result"
      ]
    },
    {
      "page": "autoplot.edp_result",
      "title": "Plot an effective-data-points diagnostic",
      "topics": [
        "autoplot.edp_result",
        "plot.edp_result"
      ]
    },
    {
      "page": "autoplot.eta_bias_result",
      "title": "Plot an ETA.Bias diagnostic",
      "topics": [
        "autoplot.eta_bias_result",
        "plot.eta_bias_result"
      ]
    },
    {
      "page": "autoplot.extrapolation_result",
      "title": "Plot an extrapolation diagnostic",
      "topics": [
        "autoplot.extrapolation_result",
        "plot.extrapolation_result"
      ]
    },
    {
      "page": "autoplot.hat_values_result",
      "title": "Plot a hat-value diagnostic",
      "topics": [
        "autoplot.hat_values_result",
        "plot.hat_values_result"
      ]
    },
    {
      "page": "autoplot.hdr_result",
      "title": "Plot an HDR non-overlap diagnostic",
      "topics": [
        "autoplot.hdr_result",
        "plot.hdr_result"
      ]
    },
    {
      "page": "autoplot.port_result",
      "title": "Plot a PoRT subgroup diagnostic",
      "topics": [
        "autoplot.port_result",
        "plot.port_result"
      ]
    },
    {
      "page": "autoplot.positivity_check",
      "title": "Plot the diagnostics a positivity check holds",
      "topics": [
        "autoplot.positivity_check",
        "plot.positivity_check"
      ]
    },
    {
      "page": "check_density_ratios",
      "title": "Summarize density ratios for positivity diagnosis",
      "topics": [
        "check_density_ratios",
        "check_density_ratios.matrix",
        "check_density_ratios.numeric"
      ]
    },
    {
      "page": "check_edp",
      "title": "Diagnose positivity with effective data points",
      "topics": [
        "check_edp"
      ]
    },
    {
      "page": "check_eta_bias",
      "title": "Diagnose positivity bias with the parametric bootstrap (ETA.Bias)",
      "topics": [
        "check_eta_bias"
      ]
    },
    {
      "page": "check_extrapolation",
      "title": "Diagnose extrapolation for binary exposures with Gower distances and the convex hull",
      "topics": [
        "check_extrapolation"
      ]
    },
    {
      "page": "check_hat_values",
      "title": "Diagnose positivity for continuous exposures with hat values",
      "topics": [
        "check_hat_values"
      ]
    },
    {
      "page": "check_hdr",
      "title": "Diagnose positivity for continuous exposures with HDR non-overlap",
      "topics": [
        "check_hdr"
      ]
    },
    {
      "page": "check_hdr_seq",
      "title": "Diagnose sequential positivity for continuous exposures with HDR non-overlap",
      "topics": [
        "check_hdr_seq"
      ]
    },
    {
      "page": "check_port",
      "title": "Locate positivity-violating subgroups with the PoRT algorithm",
      "topics": [
        "check_port"
      ]
    },
    {
      "page": "check_port_seq",
      "title": "Locate sequential positivity violations with the sPoRT algorithm",
      "topics": [
        "check_port_seq"
      ]
    },
    {
      "page": "check_positivity",
      "title": "Diagnose positivity across the applicable methods",
      "topics": [
        "check_positivity"
      ]
    },
    {
      "page": "hdr_density_normal",
      "title": "The default normal conditional-density estimator for HDR non-overlap",
      "topics": [
        "hdr_density_normal"
      ]
    },
    {
      "page": "new_hdr_density",
      "title": "Construct a conditional-density estimator for the HDR diagnostic",
      "topics": [
        "new_hdr_density"
      ]
    },
    {
      "page": "pos_violations",
      "title": "Binary-exposure data with planted positivity violations",
      "topics": [
        "pos_violations"
      ]
    },
    {
      "page": "pos_violations_long",
      "title": "Longitudinal continuous-exposure data with a time-2 support gap",
      "topics": [
        "pos_violations_long"
      ]
    },
    {
      "page": "positivity_check",
      "title": "A container for a set of positivity diagnostics",
      "topics": [
        "$,positively::positivity_check-method",
        "names,positively::positivity_check-method",
        "positivity_check",
        "summary,positively::positivity_check-method",
        "[[,positively::positivity_check-method"
      ]
    },
    {
      "page": "positivity_diagnostic",
      "title": "The abstract parent class for positivity diagnostics",
      "topics": [
        "positivity_diagnostic"
      ]
    },
    {
      "page": "pull_plot_data",
      "title": "Pull the data behind a plot",
      "topics": [
        "pull_plot_data"
      ]
    },
    {
      "page": "sniff_violations",
      "title": "Report what a set of diagnostics found",
      "topics": [
        "sniff_violations",
        "sniff_violations,positively::positivity_check-method"
      ]
    }
  ],
  "_pkglogo": "https://github.com/r-causal/positively/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/r-causal/positively/raw/HEAD/README.md",
  "_rundeps": [
    "causalgenerics",
    "cli",
    "cpp11",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "RColorBrewer",
    "rlang",
    "rpart",
    "S7",
    "scales",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "density-ratios.Rmd",
      "filename": "density-ratios.html",
      "title": "Density ratios and modified treatment policies",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "What the summaries measure",
        "A hand-built point-treatment example",
        "A mean below one signals leaked support",
        "Time-varying treatments and cumulative products",
        "A fitted longitudinal policy with lmtp",
        "Inverse-probability weights from a propensity model",
        "Where to go next",
        "References"
      ],
      "created": "2026-07-06 18:06:05",
      "modified": "2026-08-04 20:41:07",
      "commits": 5
    },
    {
      "source": "estimator-focused.Rmd",
      "filename": "estimator-focused.html",
      "title": "Estimator-focused diagnostics",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "ETA.Bias: the bias an estimator incurs",
        "A categorical exposure, term by term",
        "A continuous exposure and its working model",
        "Extrapolation as the g-computation view of positivity",
        "Where to go next",
        "References"
      ],
      "created": "2026-07-06 18:06:05",
      "modified": "2026-08-16 14:02:34",
      "commits": 9
    },
    {
      "source": "positively.Rmd",
      "filename": "positively.html",
      "title": "Getting started with positively",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Running check_positivity()",
        "Reading the container",
        "PoRT: locating the subgroups",
        "Effective data points: how much support surrounds each intervention",
        "Extrapolation: distance and the convex hull",
        "Choosing diagnostics beyond the defaults",
        "References"
      ],
      "created": "2026-07-06 18:06:05",
      "modified": "2026-09-01 15:13:38",
      "commits": 11
    },
    {
      "source": "port-and-sport.Rmd",
      "filename": "port-and-sport.html",
      "title": "Identifying Violations: PoRT and sPoRT",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Finding subgroups with PoRT",
        "Tuning the reading rule",
        "Continuous exposures",
        "Sequential violations with sPoRT",
        "Limiting the history with lag",
        "Censoring",
        "Where to go next",
        "References"
      ],
      "created": "2026-07-06 18:06:05",
      "modified": "2026-08-04 20:41:07",
      "commits": 10
    },
    {
      "source": "continuous-exposures.Rmd",
      "filename": "continuous-exposures.html",
      "title": "Positivity for continuous exposures",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Effective data points: support at chosen exposure values",
        "Shifting each observation away from the dose it received",
        "Hat values: leverage-based extrapolation risk",
        "Highest density region non-overlap",
        "When each diagnostic is informative",
        "Declaring the exposure type",
        "Time-varying exposures",
        "Where to go next",
        "References"
      ],
      "created": "2026-07-06 18:06:05",
      "modified": "2026-09-01 15:13:38",
      "commits": 12
    }
  ],
  "_score": 4.9084850188786495,
  "_indexed": true,
  "_nocasepkg": "positively",
  "_universes": [
    "r-causal",
    "malcolmbarrett"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:48:20.000Z",
      "distro": "resolute",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/77f68b73b4f77eee5f8cab73c70573fa91b41ae7feed0dff007d0f2b48e64e42",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:48:09.000Z",
      "distro": "resolute",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/cd9a27fa64854111966402fca63a5204eb20fd1c11379c2ad8de2b373771a5e4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:46:56.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/541172fc40e25dd34210a717af7367f2e50198a0cfcd0e3e39588239311397ef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:47:00.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/d70ed64d80829be586067b386cdf4b31d33aab2089aee0b63a1d18c3992a9a27",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:47:36.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/a8116060808bcbeef3d3ef84e5dfcd6cfe0d1b868c642bcbab32b905e7b02c79",
      "status": "success",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:46:43.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/48727bced3332cd9014585f4ac967f6b23fa650ae0f7fe98f1239cb09f9d4c57",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:46:37.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/cfccde0c6f0394642bad1978074013737c3e04ea286fd0a28b3c096c971982e8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-04T21:46:31.000Z",
      "commit": "1720d3371d7921473a93f2ad2db86ce257d16fdf",
      "fileid": "https://r2.ropensci.org/a94193ce9a0cf1c2d0ba6946edfddfec8c8b5cd0da30457784158289c3e6ae8a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-causal/actions/runs/37237048455"
    }
  ]
}