The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Feature Plots

Download a copy of the vignette to follow along here: feature_plots.Rmd

Given a cluster solution formatted as a row of a solutions matrix (or extended solutions matrix) and a data_list and/or target_list containing features to plot, the auto_plot() function can automatically generate ggplot-based bar and jitter plots showing how that particular feature was divided across clusters.

library(metasnf)

data_list <- generate_data_list(
    list(subc_v, "subcortical_volume", "neuroimaging", "continuous"),
    list(income, "household_income", "demographics", "continuous"),
    list(fav_colour, "favourite_colour", "misc", "categorical"),
    list(pubertal, "pubertal_status", "demographics", "continuous"),
    list(anxiety, "anxiety", "behaviour", "ordinal"),
    list(depress, "depressed", "behaviour", "ordinal"),
    uid = "unique_id"
)
## Warning in generate_data_list(list(subc_v, "subcortical_volume",
## "neuroimaging", : 188 subject(s) dropped due to incomplete data.
# Build space of settings to cluster over
set.seed(42)
settings_matrix <- generate_settings_matrix(
    data_list,
    nrow = 2,
    min_k = 20,
    max_k = 50
)

# Clustering
solutions_matrix <- batch_snf(data_list, settings_matrix)

sm_row <- solutions_matrix[1, ]

Note, the row you pick could come directly from a solutions_matrix, but could also come from an extended_solutions_matrix or from a representative solution picked after get_representative_solutions().

plot_list <- auto_plot(
    solutions_matrix_row = sm_row,
    data_list = data_list
)

names(plot_list)
##  [1] "smri_vol_scs_cbwmatterlh"   "smri_vol_scs_ltventriclelh"
##  [3] "smri_vol_scs_inflatventlh"  "smri_vol_scs_crbwmatterlh" 
##  [5] "smri_vol_scs_crbcortexlh"   "smri_vol_scs_tplh"         
##  [7] "smri_vol_scs_caudatelh"     "smri_vol_scs_putamenlh"    
##  [9] "smri_vol_scs_pallidumlh"    "smri_vol_scs_3rdventricle" 
## [11] "smri_vol_scs_4thventricle"  "smri_vol_scs_bstem"        
## [13] "smri_vol_scs_hpuslh"        "smri_vol_scs_amygdalalh"   
## [15] "smri_vol_scs_csf"           "smri_vol_scs_aal"          
## [17] "smri_vol_scs_vedclh"        "smri_vol_scs_cbwmatterrh"  
## [19] "smri_vol_scs_ltventriclerh" "smri_vol_scs_inflatventrh" 
## [21] "smri_vol_scs_crbwmatterrh"  "smri_vol_scs_crbcortexrh"  
## [23] "smri_vol_scs_tprh"          "smri_vol_scs_caudaterh"    
## [25] "smri_vol_scs_putamenrh"     "smri_vol_scs_pallidumrh"   
## [27] "smri_vol_scs_hpusrh"        "smri_vol_scs_amygdalarh"   
## [29] "smri_vol_scs_aar"           "smri_vol_scs_vedcrh"       
## [31] "household_income"           "colour"                    
## [33] "pubertal_status"            "cbcl_anxiety_r"            
## [35] "cbcl_depress_r"
plot_list$"household_income"

plot_list$"smri_vol_scs_csf"

plot_list$"colour"

If there’s something you’d like to change about the plot, you can always tack on ggplot2 elements to build from the skeleton provided by auto_plot:

plot_list$"colour" +
    ggplot2::labs(
        fill = "Favourite Colour",
        x = "Cluster",
        title = "Favourite Colour by Cluster"
    ) +
    ggplot2::scale_fill_manual(
        values = c(
            "green" = "forestgreen",
            "red" = "firebrick3",
            "yellow" = "darkgoldenrod1"
        )
    )

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.