50% off | Unlimited Data & AI Learning
Get 50% off unlimited learning

descstat (version 0.1-2)

pre_plot: Put a tibble in form to plot

Description

Convert a tibble built using freq_table or cont_table in a shape that makes it easy to plot.

Usage

pre_plot(data, f = NULL, plot = NULL, ...)

# S3 method for freq_table pre_plot( data, f = NULL, plot = c("histogram", "freqpoly", "lorenz", "stacked", "cumulative"), ... )

# S3 method for cont_table pre_plot(data, ...)

Arguments

data

a tibble returned by the freq_table or the cont_table function, which should contain the center of the classes (x) and at least one measure of the frequencies or densities (one of f, n, p, d),

f

mandatory argument if the tibble contains more than one frequency or density,

plot

for object of class freq_table one of histogram, freqpoly, stacked, cumulative and lorenz (see the details section),

...

further arguments.

Value

a tibble

Details

The pre_plot function returns a tibble containing:

  • if plot = histogram, x, y that should be passed to geom_polygon,

  • if plot = freqpoly x and y that should be passed to geom_line,

  • if plot = stacked x and ypos that should be passed respectively to geom_col and to geom_text to draw labels on the right position,

  • if plot = cumulative x, y, xend and yend that should be passed to geom_segment,

  • if plot = lorenz for the Lorenz curve, F and M for the coordinates of the polygons under the Lorenz curve, pts is logical which the defines the subset of points that belongs to the Lorenz curve.

Examples

Run this code
# NOT RUN {
library("dplyr")
library("ggplot2")
pad <- padova %>%
       freq_table(price, breaks = c(100, 200, 300, 400, 500, 1000),
       right = TRUE, f = "Npd")
pad %>% pre_plot(f = "d") %>% ggplot() + geom_polygon(aes(x, y))
pad %>% pre_plot(f = "d", plot = "freqpoly") %>%
ggplot() + geom_line(aes(x, y))
## A pie chart
wages %>% freq_table(sector, "p", total = FALSE) %>%
  pre_plot("p", plot = "stacked") %>% ggplot(aes(x = 2, y = p, fill = sector)) +
  geom_col() + geom_text(aes(y = ypos, label = sector)) +
  coord_polar(theta = "y") + theme_void() + guides(fill = FALSE)

# }

Run the code above in your browser using DataLab