Generate Segment Membership Dataframe from MONECA Results
Source:R/analytical_functions.R
segment.membership.dataframe.RdCreates a dataframe showing segment membership for each row of the original mobility matrix across all segmentation levels with positional code format.
Arguments
- moneca_results
A moneca object returned by
monecaormoneca_fast.- names
Logical indicating whether to generate descriptive labels for each level (default TRUE). When TRUE, creates additional columns with segment labels showing the representative node name and count of other members.
Value
A dataframe with:
name: The name of the row from the original matrix
index: The index of the row in the original matrix
level_X: For each segmentation level X (excluding level 1), the segment assignment using progressive numbering (001, 002, etc.)
name_level_X: (when names=TRUE) Descriptive labels for each level showing the representative node and count of other members in format "NodeName (+N)"
id_full: Positional code in format "xxx.xxx.xxx" representing hierarchical position
Examples
# Generate example data
mx <- generate_mobility_data(n_classes = 5, immobility_strength = 0.7)
# Run moneca analysis
seg <- moneca_fast(mx, segment.levels = 3)
#>
|
|======================================================================| 100%
# Generate membership dataframe
membership_df <- segment.membership.dataframe(seg)
print(membership_df)
#> name index level_2 name_level_2 level_3 name_level_3 id_full
#> 1 Class 1 1 001 Class 3 (+2) 001 Class 3 (+4) 001.001.001
#> 2 Class 2 2 001 Class 3 (+2) 001 Class 3 (+4) 001.001.002
#> 3 Class 3 3 001 Class 3 (+2) 001 Class 3 (+4) 001.001.003
#> 4 Class 4 4 002 Class 4 (+1) 001 Class 3 (+4) 001.002.004
#> 5 Class 5 5 002 Class 4 (+1) 001 Class 3 (+4) 001.002.005