Why Availability Needs Its Own Representation
A multi-omics data set may contain several measurement blocks, such as transcriptomic, proteomic, and metabolomic features, for a shared set of subjects. Some subjects have a whole modality block that was not obtained; others have an available block in which particular features have no recorded value. These situations are not interchangeable. A missing entry in a protein block does not by itself tell us that the entire proteomic modality was unavailable, and an unobserved block must not be encoded as though its measurements were observed zeros.
This tutorial defines indicators for both levels and shows how to label a subject’s modality-availability pattern. The representation is bookkeeping: by itself it does not explain why a modality or feature is missing, and it does not fill in missing measurements.
For modality \(k\), write its data block as \(X^{(k)}\), with \(p_k\) features. Its entries are denoted \(X^{(k)}_{ij}\), where \(j=1,\ldots,p_k\). A separate feature-level recording indicator \(M^{(k)}_{ij}\in\{0,1\}\) records whether the value for feature \(j\) of subject \(i\) is present in the data. The distinction is important: \(R_{ik}\) concerns the block, while \(M^{(k)}_{ij}\) concerns one value within that block.
Encoding Blocks, Features, and Patterns
An availability matrix has one row per subject and one column per modality. The order of its rows and columns must be fixed and documented. In particular, row \(i\) must refer to the same subject in every modality-specific data block. A practical data set should also retain subject identifiers and modality names, rather than relying on row and column positions alone.
A subject’s pattern label is a readable name for its binary row of \(R\). Choose and document a fixed ordering of modalities, then state the modalities whose indicators are 1. For example, with order (RNA, protein, metabolite), the vector \((1,0,1)\) can be labelled “RNA + metabolite.” The label is a recoding of the vector, not an extra measurement or an inference about the subject.
At the feature level, the indicators can be combined to express exactly which entries are present in the analysis table. Define \(Q^{(k)}_{ij}=R_{ik}M^{(k)}_{ij}\). Because both factors are binary, \(Q^{(k)}_{ij}=1\) precisely when the modality block and that feature value are available; otherwise it is 0.
This identity is a consistency rule, not a statistical model. If \(R_{ik}=0\), the product is zero for every feature, as required. If \(R_{ik}=1\), the product equals the feature indicator \(M^{(k)}_{ij}\), preserving missing entries within an available block. No probability distribution or missingness mechanism is assumed.
Worked Example: Encoding a Three-Modality Study
Consider a hypothetical study of four subjects, with modalities ordered as RNA, protein, metabolite. The recorded blocks are:
| Subject | RNA values (two features) | Protein values (two features) | Metabolite values (one feature) |
|---|---|---|---|
| A | 5, 0 | 2.1, 3.0 | 7 |
| B | 4, missing | block unavailable | 6 |
| C | block unavailable | 1.8, 2.4 | missing |
| D | block unavailable | block unavailable | block unavailable |
Subject A has all three blocks. The second RNA feature is a recorded value of 0, so its feature indicator is 1. Subject B has an RNA block with one missing feature and no protein block. Subject C has a protein block and a metabolite block, but the metabolite feature is missing. Subject D has none of the listed blocks.
The modality-level indicators, in the stated order, are \(R_{A\cdot}=(1,1,1)\), \(R_{B\cdot}=(1,0,1)\), \(R_{C\cdot}=(0,1,1)\), and \(R_{D\cdot}=(0,0,0)\). The corresponding labels are “RNA + protein + metabolite,” “RNA + metabolite,” “protein + metabolite,” and “none.” For subject B, the RNA feature indicators are \((1,0)\), while the RNA availability indicator is \(R_{B,\mathrm{RNA}}=1\). These are different facts, not contradictory entries.
For subject C’s metabolite, the block is available but its sole feature is missing: \(R_{C,\mathrm{metabolite}}=1\) and \(M^{(\mathrm{metabolite})}_{C1}=0\). Thus \(Q^{(\mathrm{metabolite})}_{C1}=1\times0=0\). For subject B’s protein features, \(R_{B,\mathrm{protein}}=0\), and the convention sets both feature indicators to zero; hence each \(Q\) entry is \(0\times0=0\). In contrast, subject A’s second RNA value has \(R=1\), \(M=1\), and \(Q=1\), despite the measured value being numerically zero.
Construction and Consistency Checks
A reliable encoding starts with the data structure rather than with an assumption about why values are absent. Use the following sequence to create and check the indicators.
Choose one subject roster and one explicit modality order. Align every modality block to the roster by subject identifier before assigning indicators.
For each subject and modality, decide whether the assay block is available in the analysis data and set \(R_{ik}\) to 1 or 0 accordingly. Record the rule so another analyst can interpret the indicator.
For each feature, assign \(M^{(k)}_{ij}=1\) for a recorded value and 0 for a missing value. Confirm that a block with \(R_{ik}=0\) has no feature-level ones.
Translate each binary row into a label using the fixed modality order. Check that the label lists exactly the modalities with indicator 1.
The operational rule matters in borderline cases. For example, if an assay was attempted but produced no usable features, investigators must decide whether “available” means that the block was generated, that the assay was attempted, or that at least one value is usable. These rules answer different questions. State one rule and apply it consistently; do not silently switch definitions across subjects. If the block is classified as available even though every feature value failed, then \(R_{ik}=1\) while all corresponding \(M^{(k)}_{ij}=0\). That representation preserves the distinction between a generated block with unusable entries and a block that was never obtained.
Worked Example: Checking a Block With Partial Feature Missingness
In a hypothetical cohort, a subject’s protein block has three features with values \(1.2\), missing, and \(0\). The protein assay block is available under the study’s documented rule. Therefore \(R_{i,\mathrm{protein}}=1\), \(M^{(\mathrm{protein})}_{i\cdot}=(1,0,1)\), and \(Q^{(\mathrm{protein})}_{i\cdot}=(1,0,1)\). The final zero in the feature values is recorded, so it has indicator 1; the middle entry is absent, so it has indicator 0.
Now suppose another subject has no protein block. The consistent encoding is \(R_{i,\mathrm{protein}}=0\), \(M^{(\mathrm{protein})}_{i\cdot}=(0,0,0)\), and \(Q^{(\mathrm{protein})}_{i\cdot}=(0,0,0)\). The value vector for that subject should retain missing entries or an explicit unavailable-block status; it should not be converted to \((0,0,0)\) as if three protein measurements had been observed at zero.
Justification, Alternatives, and Failure Modes
The product rule \(Q=RM\) follows directly from what the indicators mean. A feature is present in the analysis only if its block is available and the feature itself is recorded. If either condition fails, the entry is absent. For binary indicators, “both conditions hold” is represented by multiplication: the product is 1 only for \(1\times1\), and is 0 for \(0\times0\), \(0\times1\), or \(1\times0\). Thus the rule records the joint condition without treating an absent measurement as a numerical value.
A single feature-level mask \(Q\) can be enough for some computational tasks because it marks each observed cell. However, it does not necessarily preserve the distinction between a whole modality block being unavailable and individual feature values missing inside an available block. Keeping \(R\) and \(M\) separately retains that information. Conversely, an availability matrix alone cannot locate missing features within an available block. The appropriate representation depends on the task, but when the distinction matters, retaining both levels is safer than collapsing them.
| Representation | What it records | What it cannot distinguish by itself |
|---|---|---|
| Availability matrix \(R\) | Which subject-modality blocks are available | Which individual features are missing inside an available block |
| Feature mask \(M\) or combined mask \(Q\) | Which individual feature entries are recorded | Depending on construction, whether absence is block-level or feature-level |
| Pattern labels | A readable summary of each row of \(R\) | Feature-level gaps or reasons for missingness |
Common failures are detectable with simple checks. An \(R\) entry outside \(\{0,1\}\), a feature indicator of 1 under a block with \(R=0\), or a pattern label that disagrees with its row signals an encoding error. A row-order mismatch can be more subtle: all indicators may be binary and internally consistent while describing the wrong subject. Confirm alignment by identifiers, not by assuming that separate files happen to have the same order.
A common mistake is to say, “There is no protein measurement, so I will enter protein values of zero and mark the block available.” That creates observed zeros and changes the data; it does not represent a missing block. The correction is to set \(R_{ik}=0\), set feature indicators to 0 under the stated convention, and retain missing or unavailable entries in the value table. A second mistake is to mark an entire modality unavailable because one feature is missing. If the block is available under the operational rule, keep \(R_{ik}=1\) and mark only the affected \(M^{(k)}_{ij}=0\).
These indicators describe what is present in the recorded data, not why it is present or absent. They do not establish whether missingness is random, identify a causal effect, or justify imputation. Nor do the labels themselves quantify the frequency or consequences of particular patterns. Those questions require additional methods and assumptions. The practical value of the representation is narrower but fundamental: downstream analyses can know which modality blocks and which feature values they actually have.
Check Your Understanding
Answer each question, then compare your reasoning with the solutions below.
- With modality order (RNA, protein, metabolite), what availability vector and label correspond to a subject with RNA and metabolite blocks but no protein block?
- A block is available, and one of its four feature values is missing. What is the block indicator, and how many feature indicators are 1 if the other three values are recorded?
- A recorded feature value equals zero. What should its feature-level indicator be, and why?
- Why is the all-zero availability vector not equivalent to a subject whose measured features all have value zero?
- For an available block, suppose \(M^{(k)}_{i\cdot}=(1,0,1)\). Compute \(Q^{(k)}_{i\cdot}\). What would \(Q^{(k)}_{i\cdot}\) be if instead \(R_{ik}=0\)?
Solutions. (1) The vector is \((1,0,1)\), labelled “RNA + metabolite.” (2) The block indicator is \(R_{ik}=1\); three feature indicators are 1 and one is 0. (3) Its indicator is 1 because the value is recorded; the numeric value and its recording status are separate. (4) The all-zero vector says none of the modality blocks is available, while measured zeros are observed numerical values with indicators equal to 1. (5) With \(R_{ik}=1\), multiplication gives \(Q^{(k)}_{i\cdot}=(1,0,1)\). With \(R_{ik}=0\), the block convention sets all feature indicators to zero, so \(Q^{(k)}_{i\cdot}=(0,0,0)\).