Provides an analysis of the distribution of a selected metric. Returns a stacked bar plot by default. Additional options available to return a table with distribution elements.
Arguments
- data
A Standard Person Query dataset in the form of a data frame.
- metric
String containing the name of the metric, e.g. "Collaboration_hours"
- hrvar
String containing the name of the HR Variable by which to split metrics. Defaults to
"Organization"
. To run the analysis on the total instead of splitting by an HR attribute, supplyNULL
(without quotes).- mingroup
Numeric value setting the privacy threshold / minimum group size. Defaults to 5.
- return
String specifying what to return. This must be one of the following strings:
"plot"
"table"
See
Value
for more information.- cut
A numeric vector of length three to specify the breaks for the distribution, e.g. c(10, 15, 20)
- dist_colours
A character vector of length four to specify colour codes for the stacked bars.
- unit
String to specify what unit to use. This defaults to
"hours"
but can accept any custom string. Seecut_hour()
for more details.- lbound
Numeric. Specifies the lower bound (inclusive) value for the minimum label. Defaults to 0.
- ubound
Numeric. Specifies the upper bound (inclusive) value for the maximum label. Defaults to 100.
- sort_by
String to specify the bucket label to sort by. Defaults to
NULL
(no sorting).- labels
Character vector to override labels for the created categorical variables. Must be a named vector - see examples.
Value
A different output is returned depending on the value passed to the return
argument:
"plot"
: 'ggplot' object. A stacked bar plot for the metric."table"
: data frame. A summary table for the metric.
See also
Other Visualization:
afterhours_dist()
,
afterhours_fizz()
,
afterhours_line()
,
afterhours_rank()
,
afterhours_summary()
,
afterhours_trend()
,
collaboration_area()
,
collaboration_dist()
,
collaboration_fizz()
,
collaboration_line()
,
collaboration_rank()
,
collaboration_sum()
,
collaboration_trend()
,
create_bar()
,
create_bar_asis()
,
create_boxplot()
,
create_bubble()
,
create_fizz()
,
create_inc()
,
create_line()
,
create_line_asis()
,
create_period_scatter()
,
create_rank()
,
create_sankey()
,
create_scatter()
,
create_stacked()
,
create_tracking()
,
create_trend()
,
email_dist()
,
email_fizz()
,
email_line()
,
email_rank()
,
email_summary()
,
email_trend()
,
external_dist()
,
external_fizz()
,
external_line()
,
external_rank()
,
external_sum()
,
hr_trend()
,
hrvar_count()
,
hrvar_trend()
,
keymetrics_scan()
,
meeting_dist()
,
meeting_fizz()
,
meeting_line()
,
meeting_rank()
,
meeting_summary()
,
meeting_trend()
,
one2one_dist()
,
one2one_fizz()
,
one2one_freq()
,
one2one_line()
,
one2one_rank()
,
one2one_sum()
,
one2one_trend()
Other Flexible:
create_bar()
,
create_bar_asis()
,
create_boxplot()
,
create_bubble()
,
create_density()
,
create_fizz()
,
create_hist()
,
create_inc()
,
create_line()
,
create_line_asis()
,
create_period_scatter()
,
create_rank()
,
create_sankey()
,
create_scatter()
,
create_stacked()
,
create_tracking()
,
create_trend()
Examples
# Return plot
create_dist(pq_data, metric = "Collaboration_hours", hrvar = "Organization")
# Return summary table
create_dist(pq_data, metric = "Collaboration_hours", hrvar = "Organization", return = "table")
#> # A tibble: 4 × 6
#> group `< 15 hours` `15 - 20 hours` `20 - 25 hours` `25+ hours` Employee_Count
#> <fct> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 Finan… 0.704 0.148 NA 0.148 27
#> 2 HR 0.762 0.143 0.0476 0.0476 21
#> 3 Produ… 0.952 NA NA 0.0476 21
#> 4 Sales… 0.677 0.0323 NA 0.290 31
# Use custom labels by providing a label vector
eh_labels <- c(
"Fewer than fifteen" = "< 15 hours",
"Between fifteen and twenty" = "15 - 20 hours",
"Between twenty and twenty-five" = "20 - 25 hours",
"More than twenty-five" = "25+ hours"
)
pq_data %>% create_dist(metric = "Meeting_hours", labels = eh_labels, return = "plot")
# Sort by a category
pq_data %>% create_dist(metric = "Collaboration_hours", sort_by = "25+ hours")