library(rmarkdown) library(SmartEDA) library(knitr) library(ISLR) library(scales) library(gridExtra) library(ggplot2)
In exploratory data analysis, it is common to want to make two different plots for same variables. For example, a survey data may have a large number of questions like age, gender, region etc. It includes several categorical and numerical features. Suppose a analyst want to see age variable distributions with gender and without gender in side by side view. There is no direct functions available in any of the statistical packages. Here is a way to achieve the same thing using R using ggplot2 customized function ExpTwoPlots
Function definition:
ExpTwoPlots( data, plot_type = "numeric", iv_variables = NULL, target = NULL, lp_geom_type = "boxplot", lp_arg_list = list(), rp_geom_type = "boxplot", rp_arg_list = list(), fname = NULL, page = NULL, theme = "Default" )
Different use cases
target = "gear" categorical_features <- c("vs", "carb") # we can add as many categorical variables numeircal_features <- c("mpg", "qsec") # we can add as many numerical variables
num_1 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = NULL, lp_arg_list = list(fill="orange"), lp_geom_type = 'boxplot', rp_arg_list = list(alpha=0.5, fill="white", color = "red", binwidth=1), rp_geom_type = 'histogram', page = c(2,1), theme = "Default") num_1
num_2 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = NULL, lp_arg_list = list(fill = "white",color = "red", binwidth=1), lp_geom_type = 'histogram', rp_arg_list = list(alpha=0.5, fill="red"), rp_geom_type = 'density', page = c(2,1), theme = "Default") num_2
num_3 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = NULL, lp_arg_list = list(color = "red"), lp_geom_type = 'density', rp_arg_list = list(fill="orange"), rp_geom_type = 'boxplot', page = c(2,1), theme = "Default") num_3
num_4 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = NULL, lp_arg_list = list(fill = "blue"), lp_geom_type = 'qqplot', rp_arg_list = list(fill="orange"), rp_geom_type = 'boxplot', page = c(2,1), theme = "Default") num_4
num_21 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = "gear", lp_arg_list = list(fill="pink"), lp_geom_type = 'boxplot', rp_arg_list = list(alpha=0.5, fill = c("grey", "orange", "lightblue"), binwidth=1), rp_geom_type = 'histogram', page = c(2,1), theme = "Default") num_21
num_22 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = "gear", lp_arg_list = list(fill = "white",color = "red", binwidth=1), lp_geom_type = 'histogram', rp_arg_list = list(alpha=0.5, fill = c("red", "orange", "pink")), rp_geom_type = 'density', page = c(2,1), theme = "Default") num_22
num_23 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = "gear", lp_arg_list = list(fill = "grey"), lp_geom_type = 'density', rp_arg_list = list(fill = c("blue", "orange", "pink"), alpha=0.5), rp_geom_type = 'boxplot', page = c(2,1), theme = "Default") num_23
num_24 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = "gear", lp_arg_list = list(fill = "grey"), lp_geom_type = 'qqplot', rp_arg_list = list(fill = c("blue", "orange", "pink"), alpha=0.5), rp_geom_type = 'density', page = c(2,1), theme = "Default") num_24
num_25 <- ExpTwoPlots(mtcars, plot_type = "numeric", iv_variables = numeircal_features, target = "gear", lp_arg_list = list(fill = "orange"), lp_geom_type = 'boxplot', rp_arg_list = list(fill = c("blue", "green", "red"), alpha=0.5), rp_geom_type = 'qqplot', page = c(2,1), theme = "Default") num_25
cat_1 <- ExpTwoPlots(mtcars, plot_type = "categorical", iv_variables = categorical_features, target = NULL, lp_arg_list = list(), lp_geom_type = 'donut', rp_arg_list = list(stat = 'identity'), rp_geom_type = 'bar', page = c(2,1), theme = "Default") cat_1
cat_2 <- ExpTwoPlots(mtcars, plot_type = "categorical", iv_variables = categorical_features, target = NULL, lp_arg_list = list(), lp_geom_type = 'donut', rp_arg_list = list(), rp_geom_type = 'pie', page = c(2,1), theme = "Default") cat_2
cat_3 <- ExpTwoPlots(mtcars, plot_type = "categorical", iv_variables = categorical_features, target = NULL, lp_arg_list = list(stat = 'identity'), lp_geom_type = 'barh', rp_arg_list = list(), rp_geom_type = 'pie', page = c(2,1), theme = "Default") cat_3
cat_41 <- ExpTwoPlots(mtcars, plot_type = "categorical", iv_variables = categorical_features, target = 'gear', lp_arg_list = list(), lp_geom_type = 'donut', rp_arg_list = list(stat = 'identity'), rp_geom_type = 'bar', page = c(2,1), theme = "Default") cat_41
cat_42 <- ExpTwoPlots(mtcars, plot_type = "categorical", iv_variables = categorical_features, target = 'gear', lp_arg_list = list(), lp_geom_type = 'pie', rp_arg_list = list(stat = 'identity'), rp_geom_type = 'barh', page = c(2,1), theme = "Default") cat_42
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.