tombolo.plots.heterogeneity_table

 1import jsonschema
 2import matplotlib.pyplot as plt
 3
 4from .primitives.table import _table
 5
 6_nma_heterogeneity = {
 7    "type": "object",
 8    "required": ["tau2", "tau", "i2", "i2_lower", "i2_upper", "q", "q_df", "q_pval"],
 9    "properties": {
10        "tau2": {"type": "number", "minimum": 0},
11        "tau": {"type": "number", "minimum": 0},
12        "i2": {"type": "number", "minimum": 0, "maximum": 1},
13        "i2_lower": {"type": "number", "minimum": 0, "maximum": 1},
14        "i2_upper": {"type": "number", "minimum": 0, "maximum": 1},
15        "q": {"type": "number", "minimum": 0},
16        "q_df": {"type": "integer", "minimum": 0},
17        "q_pval": {"type": "number", "minimum": 0, "maximum": 1},
18    },
19}
20
21_bnma_heterogeneity = {
22    "type": "object",
23    "required": ["sd", "sd_lower", "sd_upper"],
24    "properties": {
25        "sd": {"type": "number", "minimum": 0},
26        "sd_lower": {"type": "number", "minimum": 0},
27        "sd_upper": {"type": "number", "minimum": 0},
28    },
29}
30
31_schema = {
32    "type": "object",
33    "required": ["heterogeneity"],
34    "properties": {
35        "heterogeneity": {"oneOf": [_nma_heterogeneity, _bnma_heterogeneity]}
36    },
37}
38
39
40def heterogeneity_table(data: dict) -> plt.Figure:
41    """Summary table of heterogeneity statistics.
42
43    Args:
44        data: Result dict from `tombolo.nma` or `tombolo.bnma`. Only `heterogeneity` is used.
45
46    Returns:
47        For NMA results: Q statistic, p-value, I², and τ.
48        For BNMA results: posterior SD and 95% credible interval.
49    """
50    jsonschema.validate(instance=data, schema=_schema)
51    return _table(data["heterogeneity"])
def heterogeneity_table(data: dict) -> matplotlib.figure.Figure:
41def heterogeneity_table(data: dict) -> plt.Figure:
42    """Summary table of heterogeneity statistics.
43
44    Args:
45        data: Result dict from `tombolo.nma` or `tombolo.bnma`. Only `heterogeneity` is used.
46
47    Returns:
48        For NMA results: Q statistic, p-value, I², and τ.
49        For BNMA results: posterior SD and 95% credible interval.
50    """
51    jsonschema.validate(instance=data, schema=_schema)
52    return _table(data["heterogeneity"])

Summary table of heterogeneity statistics.

Args: data: Result dict from tombolo.nma or tombolo.bnma. Only heterogeneity is used.

Returns: For NMA results: Q statistic, p-value, I², and τ. For BNMA results: posterior SD and 95% credible interval.