This simple function takes in a data table and reorders groups (categorical variables or factors) to be plotted along the X-axis in a user-defined order.
table_x_reorder(data, xcol, OrderX, ...)
a data table
name of column in above data table (provided within quotes) whose levels are to be reordered
a vector of group names in the desired order
any additional arguments for factor
call.
This function returns a data frame with a selected column converted into factor with reordered levels.
It uses two base R functions: as.factor
to first force the user-selected column into a factor, and factor
that reorders levels based on a user-provided vector.
#reorder levels within Genotype
new_data <- table_x_reorder(data_t_pratio,
xcol = "Genotype",
OrderX = c("KO", "WT"))
#compare
plot_scatterbox(data_t_pratio,
Genotype,
Cytokine)
#with
plot_scatterbox(new_data,
Genotype,
Cytokine)
#also works within the plot call
plot_scatterbox(data = table_x_reorder(data_t_pratio,
xcol = "Genotype",
OrderX = c("KO", "WT")),
xcol = Genotype,
ycol = Cytokine)