View source: R/sequence-motifs.R
| extract_sequence_ngrams | R Documentation |
Enumerates contiguous state motifs from validated long-format sequence data.
extract_sequence_ngrams(
data,
sequence_id_col,
order_col,
state_col,
duration_col = NULL,
metadata_cols = NULL,
expected_states = NULL,
min_length = 2L,
max_length = 3L,
overlap = c("allow", "disallow"),
separator = " > ",
state_levels = NULL
)
data |
A data frame containing ordered state observations. |
sequence_id_col |
Name of the sequence identifier column. |
order_col |
Name of the numeric sequence-order column. |
state_col |
Name of the categorical state column. |
duration_col |
Optional name of a numeric duration column. |
metadata_cols |
Optional character vector naming columns that should remain constant within each sequence. |
expected_states |
Optional vector of known or permitted state values. |
min_length |
Positive whole number giving the shortest motif length. |
max_length |
Positive whole number giving the longest motif length. |
overlap |
Character value specifying whether overlapping occurrences of
the same motif within the same sequence are |
separator |
Character value used only to display state labels in the
human-readable |
state_levels |
Optional atomic vector defining the complete state ordering. When omitted, factor levels are respected; otherwise observed labels are sorted deterministically. |
Motifs are contiguous windows only. No subsequence gaps, edit distances,
statistical tests, or substantive interpretations are introduced.
Consecutive repeated states are used exactly as supplied; any repeat
collapsing should be performed explicitly with prepare_sequence_data()
before extraction.
With overlap = "disallow", overlap is resolved independently within each
sequence-motif pair by a deterministic left-to-right greedy rule. Different
motifs and different motif lengths do not compete for positions.
The collision-resistant motif_id and motif_key columns are derived from
deterministic state codes. The display separator may therefore also occur
inside a state label without changing motif identity.
A named list containing:
occurrences: one row per retained contiguous motif occurrence;
motifs: the distinct motif dictionary;
sequences: sequence-level counts of candidate and retained occurrences;
state_dictionary: the deterministic state dictionary;
audit, status, and mapping from input validation;
settings: the resolved motif extraction settings.
sequences <- data.frame(
id = c(rep("s1", 5L), rep("s2", 4L)),
position = c(1:5, 1:4),
state = c("A", "B", "A", "B", "A", "A", "B", "A", "C")
)
ngrams <- extract_sequence_ngrams(
sequences,
sequence_id_col = "id",
order_col = "position",
state_col = "state",
min_length = 2,
max_length = 3,
overlap = "allow"
)
ngrams$occurrences
ngrams$motifs
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.