Construct proliferation: Health and Clinical Psychology

Show code
.js-plotly-plot .plotly svg a { 
  fill: inherit !important 
}
Show code
document.addEventListener("DOMContentLoaded", function() {
    const plotElements = document.querySelectorAll('.plotly.html-widget'); // Gets all Plotly widgets
    const firstPlot = plotElements[0]; // Gets the first Plotly plot

    Plotly.update(firstPlot).then(gd => {
        gd.on('plotly_treemapclick', () => false); // Example: removing treemap click event
    });
});
Show code
records_wide <- readRDS("../sober_rubric/raw_data/preprocessed_records.rds")
psyctests_info <- readRDS("../sober_rubric/raw_data/psyctests_info.rds")
psyctests_info <- psyctests_info %>% 
  left_join(records_wide %>% select(DOI, Acronym = first_acronym), by = "DOI") %>% 
  mutate(shortName = coalesce(Acronym, Name)) %>% 
  mutate(shortName = case_when(
    Name == "trail making test" ~ "TMT",
    Name == "alcohol use disorders identification test" ~ "AUDIT",
    Name == "perceived stress scale" ~ "PSS",
    Name == "perceived stress scale" ~ "PSS",
    Name == "beck anxiety inventory" ~ "BAI",
    Name == "positive and negative affect scale" ~ "PANAS-B",
    Name == "center for epidemiological studies depression scale" ~ "CESD",
    Name == "stroop color and word test" ~ "SCWT",
    Name == "clinician-administered ptsd scale" ~ "CAPS",
    shortName == "WHO WMH-CIDI" ~ "WMH-CIDI",
    Name == "barthel index" ~ "ADL",
    Name == "stroop color and word test" ~ "SCWT",
    TRUE ~ shortName
  ))

The following plot is called a treemap. In such plots, the area per test is proportional to its usage frequency.

By comparing across the subdisciplines, we can see what higher and lower entropy fields look like visually. High entropy is seen as great fragmentation, i.e. there are many small tiles and many tiles of similar size. Lower fragmentation is apparent when some large tiles reflecting individual measures, such as the Beck Depression Inventory, dominate a field.

Show code
tests <- psyctests_info %>%
  filter(subdiscipline_1 == "Health and Clinical Psychology") %>%
  group_by(DOI, shortName, Name) %>%
  summarise(n = sum(usage_count, na.rm = T),
            parent = "") %>% 
  ungroup() %>% 
  arrange(runif(n()))
entropy = entropy(tests$n)
norm_entropy = calc_norm_entropy(tests$n)

Health and Clinical Psychology

Normalized Shannon entropy \(\eta(X) = 0.66\)

Show code
p <- treemap_graph(tests, colors = pal)

save_image(p, "figures/treemap_clinical.png", width = 1400, height = 700, 
           scale = 5)

p