This is an introduction to a package that is useful for plotting statistics together in ggplot2. The package also includes commands for plotting correlations in a heatmap. Please see the following URL for details.
ggstatsplot: ggplot2 Based Plots with Statistical Details
https://indrajeetpatil.github.io/ggstatsplot/
Package version is 0.9.1. Checked with R version 4.2.2.
Install Package
Run the following command.
#Install Package install.packages("ggstatsplot")
Example
See the command and package help for details.
#Loading the library library("ggstatsplot") #Install the PMCMRplus package if it is not already there if(!require("PMCMRplus", quietly = TRUE)){ install.packages("PMCMRplus");require("PMCMRplus") } #Install the ggside package if it is not already there if(!require("ggside", quietly = TRUE)){ install.packages("ggside");require("ggside") } ###Creating Data##### n <- 60 TestData <- data.frame("Group" = rep(paste0("Group", 1:3), each = 20), "Data1" = sample(rnorm(500), n, replace = TRUE), "Data2" = sample(rnorm(500), n, replace = TRUE), "Letter" = sample(LETTERS[1:3], n, replace = TRUE)) TestData[, 2] <- TestData[, 2] + rep(c(0, .8, .3), each = 20) TestData[, 3] <- TestData[, 3] + rep(c(0, 4, 10), each = 20) #Check #str(TestData) ######## #Creating box and violin plots with statistical information: #ggbetweenstats command #Graph settings:plot.type option; "box", "violin", "boxviolin" #Hypothesis of the distribution: type option; "parametric", "nonparametric", "robust", "bayes". #p-value adjustment method: "p.adjust.method", "holm", "hochberg", "hommel", "bonferroni", #"BH", "BY", "fdr", "none" #of decimal places to display: k options ggbetweenstats(data = TestData, x = Group, y = Data1, pairwise.comparisons = TRUE, pairwise.annotation = "p.value", pairwise.display = "all", plot.type = "boxviolin", messages = FALSE, k = 2, p.adjust.method = "holm") #Generate scatterplots with statistics: ggscatterstats command #Specify how to calculate correlations:type; "parametric", "pearson", "robust", "bayes" ggscatterstats(data = TestData, x = Data1, y = Data2, type = "robust", messages = FALSE, centrality.para = "median") #Create a pie chart of categorical variables: grouped_ggpiestats command #Specify categorical variables: main option #Specify grouping indicators: grouping.var option #Label content: slice.label option; "percentage", "counts", "both" grouped_ggpiestats(data = TestData, x = Letter, main = Letter, grouping.var = Group, slice.label = "both")
Output Example
・ggbetweenstats command
・ggscatterstats command
・grouped_ggpiestats command
I hope this makes your analysis a little easier !!