This package introduces:
wideplot()
graphics for exploring the structure of a dataset through a grid of variables and graphic types.longplot()
graphics, which present the entire catalog of available graphics for representing one particular variable or a limited selection of variables using a grid of graphic types and variations on these types.matrixplot()
graphics, a generalization of a matrix plot in the sense that the graphic that is replicated in each cell of the matrix can be selected from the catalogue of bivariate graphics.plotup()
function, which complements the previous three functions in that it presents a particular graphic for a specific variable or a limited number of variables of a dataset.
Future work will include the ability to draw longplot()
and plotup()
graphics from a selection of a wider number and combinations of types of
variables within a dataset.
You can install the released version of brinton from CRAN with:
install.packages("brinton")
And then load the functions included in the package:
library(brinton)
#> M a G i C i N G R a P H S
When a new dataset comes up, R users use to call the str()
function
that describes textually the main characteristics of this dataset. The
new wideplot()
function does the same but graphically. As an example,
just run:
wideplot(esoph)
This function includes the argument dataclass
that sets the types of
variables to be included in the grid as well as the order in which they
are listed. As an example, the following line will plot only the numeric
variables included in the iris dataset:
wideplot(esoph, dataclass = c("numeric"))
Although, the wideplot()
function shows only a small set of the
graphics suitable for each type of data. If the user wants to see all
the available graphics for some specific variable included in the
dataset, then the longplot()
is useful. As an example, just run:
longplot(esoph, "ncases")
Any of the graphics presented in the longplot()
output can also be
presented. If one wants to compare the output of some other specific
graphics one can, for instance, run:
wideplot(
esoph,
dataclass = c("numeric"),
numeric = c("point graph", "binned point graph", "binned heatmap"),
label = TRUE
)
Sometimes, specially with character variables, there is not enought
space for the graphic area, and the user may want to increase the width
of the columns in the matrix. The user can then modify the defalut value
of the ncol
argument:
wideplot(
esoph,
dataclass = c("numeric"),
numeric = c("point graph", "binned point graph", "binned heatmap"),
label = TRUE,
ncol = 3
)
While the wideplot function displays a grid of univariate graphics, if a matrix of bivariate graphics is intended for variables of one particular type, the matrixplot() function is useful. Type for instance the following code:
matrixplot(esoph, dataclass = "ordered", diagram = "color heatmap")
Same thing if the desired matrix has to include graphics from variables of two different types (please note that the graphic type has to be compatible):
matrixplot(esoph, dataclass = c("numeric", "ordered"), diagram = "box plot")
If the user is interested in one particular graphic then the function
plotup()
is useful.
plotup(esoph, "ncases", "color histogram")
Or, as an example of a graphic that requires more than one input variable:
plotup(esoph, c("agegp", "alcgp"), "color stacked bar graph")
The default output of the plotup()
function is a c("gg", "ggplot")
object but the output
argument allows, as a side effect, to write and
present the graphic in a html file or to print the ggplot2 function in
the console:
plotup(esoph, c("agegp", "alcgp"), "color stacked bar graph", output = "html")
plotup(esoph, c("agegp", "alcgp"), "color stacked bar graph", output = "console")
#>
#> ggplot(esoph, aes(x=alcgp, fill=agegp)) +
#> geom_bar(key_glyph = draw_key_dotplot, position = 'stack') +
#> viridis::scale_fill_viridis(discrete=TRUE, direction = -1) +
#> guides(fill=guide_legend(title=as.character({as.character(substitute(vars1))}), keyheight = unit(0.4, 'cm'),
#> title.theme = element_text(size = 9, colour = 'gray20'),
#> reverse = TRUE)) +
#> coord_flip() +
#> theme_minimal() +
#> theme(panel.grid = element_line(colour = NA),
#> axis.ticks.x = element_line(color = 'black'))