Converts wide format sequence data into useful formats for analysis, such as frequency table, one-Hot encoding, or edge list (graph format).
Usage
convert(data, cols = tidyselect::everything(), format = "frequency")Arguments
- data
[
data.frame]
Sequence data in wide format (rows are sequences, columns are time points). The input should be coercible to adata.frameobject.- cols
[
tidy-select]
A tidy selection of columns that should be considered as sequence data. By default, all columns are used.- format
[
character(1):"frequency"]
The data format to convert into:"frequency": Counts of each state per sequence."onehot": Presence/absence (1/0) of each state per sequence."edgelist": (state, next state) pairs."reverse": Same as"edgelist"but in the reverse direction, i.e., (state, previous state) pairs.
Examples
convert(engagement, format = "frequency")
#> # A tibble: 1,000 × 4
#> .id Active Average Disengaged
#> <int> <int> <int> <int>
#> 1 1 17 3 3
#> 2 2 17 4 2
#> 3 3 10 4 10
#> 4 4 8 3 13
#> 5 5 15 5 4
#> 6 6 19 1 3
#> 7 7 16 5 2
#> 8 8 10 5 8
#> 9 9 1 10 12
#> 10 10 20 1 3
#> # ℹ 990 more rows
convert(engagement, format = "onehot")
#> # A tibble: 1,000 × 4
#> .id Average Active Disengaged
#> <int> <dbl> <dbl> <dbl>
#> 1 1 1 1 1
#> 2 2 1 1 1
#> 3 3 1 1 1
#> 4 4 1 1 1
#> 5 5 1 1 1
#> 6 6 1 1 1
#> 7 7 1 1 1
#> 8 8 1 1 1
#> 9 9 1 1 1
#> 10 10 1 1 1
#> # ℹ 990 more rows
convert(engagement, format = "edgelist")
#> # A tibble: 23,555 × 3
#> .id from to
#> <int> <chr> <chr>
#> 1 1 Average Active
#> 2 1 Active Active
#> 3 1 Active Active
#> 4 1 Active Active
#> 5 1 Active Active
#> 6 1 Active Active
#> 7 1 Active Active
#> 8 1 Active Active
#> 9 1 Active Active
#> 10 1 Active Active
#> # ℹ 23,545 more rows
convert(engagement, format = "reverse")
#> # A tibble: 23,555 × 3
#> .id state previous
#> <int> <chr> <chr>
#> 1 1 Active Average
#> 2 1 Active Active
#> 3 1 Active Active
#> 4 1 Active Active
#> 5 1 Active Active
#> 6 1 Active Active
#> 7 1 Active Active
#> 8 1 Active Active
#> 9 1 Active Active
#> 10 1 Active Active
#> # ℹ 23,545 more rows