{
  "_id": "6a102ea8acfb0bcc41c945ea",
  "Package": "dist.structure",
  "Title": "Structured Random Variables for Reliability System Distributions",
  "Version": "0.5.0",
  "Authors@R": "person(\"Alexander\", \"Towell\",\nemail = \"lex@metafunctor.com\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-6443-9897\"))",
  "Description": "Extends the 'algebraic.dist' distribution algebra to\nrandom variables with internal structure: coherent reliability\nsystems decomposed into components arranged by a structure\nfunction (series, parallel, k-out-of-n, bridge, and arbitrary\ntopologies via minimal path sets). Every 'dist_structure'\nobject is a 'dist', so the full distribution algebra (mean,\nvcov, sampler, surv, cdf) works automatically via default\nmethods that compose component-level distributions through the\ntopology. Adds structural queries: structure function\nevaluation, minimal path and cut sets, system signature,\ncritical states, dual, Birnbaum structural importance, and\nsystem reliability. Topology shortcut constructors\n(series_dist, parallel_dist, kofn_dist, bridge_dist) produce\nready-to-use dists from component dists and a chosen structure.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/queelius/dist.structure",
  "BugReports": "https://github.com/queelius/dist.structure/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-12 21:26:43 UTC",
    "User": "root"
  },
  "Author": "Alexander Towell [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-6443-9897>)",
  "Maintainer": "Alexander Towell <lex@metafunctor.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-05-12 20:12:51 UTC",
  "RemoteUrl": "https://github.com/cran/dist.structure",
  "RemoteRef": "HEAD",
  "RemoteSha": "384296a34df645d527d08945e190d1c1b71a4545",
  "MD5sum": "808956294bc090702208f411c3d5a61a",
  "_user": "cran",
  "_type": "src",
  "_file": "dist.structure_0.5.0.tar.gz",
  "_fileid": "9226b9bfe25c70054b586bcfd81aa20c5e020ef2677387be800601ab44d6a24d",
  "_filesize": 273959,
  "_sha256": "9226b9bfe25c70054b586bcfd81aa20c5e020ef2677387be800601ab44d6a24d",
  "_created": "2026-05-12T21:26:43.000Z",
  "_published": "2026-05-22T10:23:36.219Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77361046301,
      "time": 122,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6956296090"
    },
    {
      "job": 77361046491,
      "time": 131,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6956299230"
    },
    {
      "job": 77361046308,
      "time": 204,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6956255964"
    },
    {
      "job": 77361046014,
      "time": 108,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158261158"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25763028013",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/dist.structure",
  "_commit": {
    "id": "384296a34df645d527d08945e190d1c1b71a4545",
    "author": "Alexander Towell <lex@metafunctor.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.5.0\n",
    "time": 1778616771
  },
  "_maintainer": {
    "name": "Alexander Towell",
    "email": "lex@metafunctor.com",
    "login": "queelius",
    "orcid": "0000-0001-6443-9897",
    "twitter": "@queelius",
    "uuid": 1896674
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "algebraic.dist",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 4,
  "_updates": [
    {
      "week": "2026-20",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.5.0",
      "date": "2026-05-12"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "queelius",
      "count": 1,
      "uuid": 1896674
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/dist.structure"
  },
  "_devurl": "https://github.com/queelius/dist.structure",
  "_searchresults": 11,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/dist.structure.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.5.0",
      "date": "2026-05-12"
    }
  ],
  "_exports": [
    "as_dist_structure",
    "birnbaum_importance",
    "bridge_dist",
    "coherent_dist",
    "cold_standby_dist",
    "component",
    "compose_systems",
    "consecutive_k_dist",
    "critical_states",
    "criticality_importance",
    "dual",
    "exp_kofn",
    "exp_parallel",
    "exp_series",
    "gamma_series",
    "is_coherent",
    "is_dist_structure",
    "kofn_dist",
    "lognormal_series",
    "max_iid",
    "min_cuts",
    "min_iid",
    "min_paths",
    "ncomponents",
    "order_statistic",
    "parallel_dist",
    "phi",
    "reliability",
    "series_dist",
    "structural_importance",
    "substitute_component",
    "system_censoring",
    "system_lifetime",
    "system_signature",
    "validate_dist_structure",
    "vesely_fussell_importance",
    "wei_homogeneous_series",
    "wei_kofn",
    "wei_series"
  ],
  "_help": [
    {
      "page": "as_dist_structure",
      "title": "Coerce to dist_structure",
      "topics": [
        "as_dist_structure",
        "as_dist_structure.dist",
        "as_dist_structure.dist_structure"
      ]
    },
    {
      "page": "birnbaum_importance",
      "title": "Birnbaum reliability importance",
      "topics": [
        "birnbaum_importance",
        "birnbaum_importance.dist_structure"
      ]
    },
    {
      "page": "bridge_dist",
      "title": "Bridge system distribution",
      "topics": [
        "bridge_dist"
      ]
    },
    {
      "page": "coherent_dist",
      "title": "Coherent system distribution from minimal path sets",
      "topics": [
        "coherent_dist"
      ]
    },
    {
      "page": "cold_standby_dist",
      "title": "Cold-standby system distribution",
      "topics": [
        "cdf.cold_standby_dist",
        "cold_standby_dist",
        "sampler.cold_standby_dist",
        "surv.cold_standby_dist"
      ]
    },
    {
      "page": "component",
      "title": "The j-th component as a dist",
      "topics": [
        "component"
      ]
    },
    {
      "page": "compose_systems",
      "title": "Compose systems hierarchically",
      "topics": [
        "compose_systems",
        "compose_systems.dist_structure"
      ]
    },
    {
      "page": "consecutive_k_dist",
      "title": "Consecutive-k-out-of-n system distribution (type G)",
      "topics": [
        "consecutive_k_dist"
      ]
    },
    {
      "page": "critical_states",
      "title": "Critical states of a component",
      "topics": [
        "critical_states",
        "critical_states.dist_structure"
      ]
    },
    {
      "page": "criticality_importance",
      "title": "Criticality (Fussell) importance at time t",
      "topics": [
        "criticality_importance",
        "criticality_importance.dist_structure"
      ]
    },
    {
      "page": "dual",
      "title": "Dual of a coherent_dist: swap cuts and paths",
      "topics": [
        "dual",
        "dual.coherent_dist",
        "dual.dist_structure",
        "dual.dual_of_system"
      ]
    },
    {
      "page": "exp_kofn",
      "title": "k-out-of-n system of independent exponential components (closed form)",
      "topics": [
        "density.exp_kofn",
        "exp_kofn",
        "hazard.exp_kofn",
        "sampler.exp_kofn",
        "surv.exp_kofn"
      ]
    },
    {
      "page": "exp_parallel",
      "title": "Parallel of exponential components (closed form)",
      "topics": [
        "exp_parallel",
        "mean.exp_parallel",
        "sampler.exp_parallel",
        "surv.exp_parallel"
      ]
    },
    {
      "page": "exp_series",
      "title": "Series of exponential components (closed form)",
      "topics": [
        "density.exp_series",
        "exp_series",
        "hazard.exp_series",
        "mean.exp_series",
        "sampler.exp_series",
        "surv.exp_series"
      ]
    },
    {
      "page": "format.dist_structure",
      "title": "Format a dist_structure object",
      "topics": [
        "format.dist_structure"
      ]
    },
    {
      "page": "gamma_series",
      "title": "Series of independent Gamma components (closed form)",
      "topics": [
        "gamma_series",
        "sampler.gamma_series",
        "surv.gamma_series"
      ]
    },
    {
      "page": "is_coherent",
      "title": "Coherence axiom check",
      "topics": [
        "is_coherent",
        "is_coherent.dist_structure"
      ]
    },
    {
      "page": "is_dist_structure",
      "title": "Predicate for dist_structure objects",
      "topics": [
        "is_dist_structure"
      ]
    },
    {
      "page": "kofn_dist",
      "title": "k-out-of-n system distribution",
      "topics": [
        "kofn_dist"
      ]
    },
    {
      "page": "lognormal_series",
      "title": "Series of independent Lognormal components (closed form)",
      "topics": [
        "lognormal_series",
        "sampler.lognormal_series",
        "surv.lognormal_series"
      ]
    },
    {
      "page": "max_iid",
      "title": "Parallel system of m iid components",
      "topics": [
        "max_iid"
      ]
    },
    {
      "page": "mean.cold_standby_dist",
      "title": "Mean of a cold-standby system: sum of component means",
      "topics": [
        "mean.cold_standby_dist"
      ]
    },
    {
      "page": "min_cuts",
      "title": "Minimal cut sets",
      "topics": [
        "min_cuts",
        "min_cuts.dist_structure"
      ]
    },
    {
      "page": "min_iid",
      "title": "Series system of m iid components",
      "topics": [
        "min_iid"
      ]
    },
    {
      "page": "min_paths",
      "title": "Minimal path sets",
      "topics": [
        "min_paths",
        "min_paths.dist_structure"
      ]
    },
    {
      "page": "ncomponents",
      "title": "Number of components",
      "topics": [
        "ncomponents"
      ]
    },
    {
      "page": "order_statistic",
      "title": "k-th order statistic of m iid components",
      "topics": [
        "order_statistic"
      ]
    },
    {
      "page": "parallel_dist",
      "title": "Parallel system distribution",
      "topics": [
        "parallel_dist"
      ]
    },
    {
      "page": "phi",
      "title": "Structure function",
      "topics": [
        "phi",
        "phi.dist_structure"
      ]
    },
    {
      "page": "print.dist_structure",
      "title": "Print a dist_structure object",
      "topics": [
        "print.dist_structure"
      ]
    },
    {
      "page": "reliability",
      "title": "System reliability polynomial",
      "topics": [
        "reliability",
        "reliability.dist_structure"
      ]
    },
    {
      "page": "series_dist",
      "title": "Series system distribution",
      "topics": [
        "series_dist"
      ]
    },
    {
      "page": "structural_importance",
      "title": "Birnbaum structural importance",
      "topics": [
        "structural_importance",
        "structural_importance.dist_structure"
      ]
    },
    {
      "page": "substitute_component",
      "title": "Substitute a component",
      "topics": [
        "substitute_component",
        "substitute_component.dist_structure"
      ]
    },
    {
      "page": "dist_structure",
      "title": "System survival via reliability composition",
      "topics": [
        "cdf.dist_structure",
        "dist_structure",
        "sampler.dist_structure",
        "surv.dist_structure"
      ]
    },
    {
      "page": "system_censoring",
      "title": "Per-component censoring from system observation",
      "topics": [
        "system_censoring",
        "system_censoring.dist_structure"
      ]
    },
    {
      "page": "system_lifetime",
      "title": "System lifetime from component times",
      "topics": [
        "system_lifetime",
        "system_lifetime.dist_structure"
      ]
    },
    {
      "page": "system_signature",
      "title": "System signature",
      "topics": [
        "system_signature",
        "system_signature.dist_structure"
      ]
    },
    {
      "page": "validate_dist_structure",
      "title": "Validate that an object satisfies the dist_structure protocol",
      "topics": [
        "validate_dist_structure"
      ]
    },
    {
      "page": "vesely_fussell_importance",
      "title": "Vesely-Fussell importance at time t",
      "topics": [
        "vesely_fussell_importance",
        "vesely_fussell_importance.dist_structure"
      ]
    },
    {
      "page": "wei_homogeneous_series",
      "title": "Series of Weibull components with common shape (closed form as a Weibull)",
      "topics": [
        "mean.wei_homogeneous_series",
        "sampler.wei_homogeneous_series",
        "surv.wei_homogeneous_series",
        "wei_homogeneous_series"
      ]
    },
    {
      "page": "wei_kofn",
      "title": "k-out-of-n system of independent Weibull components (closed form)",
      "topics": [
        "density.wei_kofn",
        "hazard.wei_kofn",
        "sampler.wei_kofn",
        "surv.wei_kofn",
        "wei_kofn"
      ]
    },
    {
      "page": "wei_series",
      "title": "Series of heterogeneous Weibull components (closed form)",
      "topics": [
        "hazard.wei_series",
        "sampler.wei_series",
        "surv.wei_series",
        "wei_series"
      ]
    }
  ],
  "_readme": "https://github.com/cran/dist.structure/raw/HEAD/README.md",
  "_rundeps": [
    "algebraic.dist",
    "mvtnorm",
    "R6"
  ],
  "_vignettes": [
    {
      "source": "coherent-systems.Rmd",
      "filename": "coherent-systems.html",
      "title": "Coherent systems",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What is a coherent system",
        "The structure function phi",
        "Minimal path and cut sets",
        "The bridge network",
        "Arbitrary coherent systems",
        "Structural importance",
        "Reliability polynomial",
        "Critical states",
        "Dual systems",
        "Validating a custom topology",
        "Summary"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "composition.Rmd",
      "filename": "composition.html",
      "title": "Composition and substitution",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Building new systems from old",
        "Substituting a component",
        "Hierarchical composition",
        "Series of parallels",
        "Parallel of series",
        "Mixing a sub-system with a plain dist",
        "Arbitrary depth",
        "Substitution vs composition"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "distribution-interface.Rmd",
      "filename": "distribution-interface.html",
      "title": "Distribution interface",
      "engine": "knitr::rmarkdown",
      "headings": [
        "dist_structure IS-A dist",
        "Default dist methods",
        "Choosing specializations vs general constructors",
        "Closed-form specializations in dist.structure",
        "min, max, and order statistics as dist_structure",
        "Density and hazard",
        "The dist.structure + algebraic.dist stack"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with dist.structure",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What dist.structure is",
        "Your first structured distribution",
        "Structural queries",
        "A richer topology: k-out-of-n",
        "Sampling, means, and composition",
        "Importance measures",
        "What to read next",
        "Ecosystem"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "implementing-a-subclass.Rmd",
      "filename": "implementing-a-subclass.html",
      "title": "Implementing a dist_structure subclass",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The contract: four steps",
        "A worked example: an alarm system",
        "Step 1: pick a representation",
        "Step 2: write the constructor",
        "Step 3: implement the three required generics",
        "Step 4: validate",
        "What you get for free",
        "When to override a default",
        "Inheriting from coherent_dist",
        "What the default dual does",
        "Cross-references"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "importance-measures.Rmd",
      "filename": "importance-measures.html",
      "title": "Importance measures",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Four measures, four questions",
        "Setting up the bridge",
        "Structural importance",
        "Birnbaum reliability importance",
        "Time-dependent importance via criticality",
        "Vesely-Fussell importance",
        "Comparison",
        "Closed-form checks",
        "When to use which"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    },
    {
      "source": "non-coherent.Rmd",
      "filename": "non-coherent.html",
      "title": "Non-coherent systems: cold standby",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why \"non-coherent\"",
        "Constructing a cold standby",
        "Mean and sampling: exact",
        "Survival and CDF: Monte Carlo with caching",
        "Specialized closed-form case: iid exponentials",
        "What cold standby does NOT support",
        "When to reach for cold standby"
      ],
      "created": "2026-05-12 20:12:51",
      "modified": "2026-05-12 20:12:51",
      "commits": 1
    }
  ],
  "_score": 4.664641975556126,
  "_indexed": true,
  "_nocasepkg": "dist.structure",
  "_universes": [
    "cran",
    "queelius"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-12T21:28:42.000Z",
      "distro": "noble",
      "commit": "384296a34df645d527d08945e190d1c1b71a4545",
      "fileid": "bdb37b5f7d5cdd1e92e8e41d19d29b6686954674f41018f097f23fc8485dc239",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763028013"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-12T21:28:49.000Z",
      "distro": "noble",
      "commit": "384296a34df645d527d08945e190d1c1b71a4545",
      "fileid": "396435f72ef03b6b2ea8ba2b4a64afd9302af446f83df7b6feb6d652a45d2a38",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763028013"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.0",
      "date": "2026-05-22T10:23:19.000Z",
      "commit": "384296a34df645d527d08945e190d1c1b71a4545",
      "fileid": "d147653614e6b582f98ce47ff2f93cefde7fe6c416df1aa741479edb616c3028",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25763028013"
    }
  ]
}