The “ggplot2” package is a powerful tool for converting data into plots in R. However, there are times when you want to use it simply, and sometimes it is a hassle to convert the data to correspond to a number. This is an introduction to a package that solves such a problem and easily plots data as wide-type data.
An example, we also show a sample command to render each figure with the “ggplot2” package, except for the dot.
Package version is 0.1.1. Checked with R version 4.2.2.
Install Package
Run the following command.
#Install Package install.packages("ggmatplot")
Example
See the command and package help for details.
#Loading the library library("ggmatplot") #Install the tidyverse package if it is not already there if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } ###Creating Data##### set.seed(1234) n <- 300 TestData <- tibble(Group = sample(paste0("Group", 1:2), n, replace = TRUE), X_Data1 = sample(c(1:50), n, replace = TRUE), X_Data2 = sample(c(1:100), n, replace = TRUE), Y_Data1 = sample(c(1:50), n, replace = TRUE), Y_Data2 = sample(c(1:100), n, replace = TRUE)) #Check TestData # A tibble: 300 x 5 Group X_Data1 X_Data2 Y_Data1 Y_Data2 <chr> <int> <int> <int> <int> 1 Group2 19 48 17 25 2 Group1 3 65 24 75 3 Group2 6 33 9 77 4 Group1 22 64 39 77 5 Group2 43 18 11 63 6 Group2 32 14 3 44 7 Group2 34 92 34 35 8 Group1 2 63 27 10 9 Group1 4 55 8 95 10 Group1 34 19 24 97 # ... with 290 more rows ####### #Plotting with wide type data: ggmatplot command #Specify plot type:plot_type option; #point,line,both(point + line),density,histogram, #boxplot,dotplot,errorplot,violin,ecdf #Other options are omitted as they can be understood without explanation, #see Help. ggmatplot(x = TestData %>% select(X_Data1, X_Data2), y = TestData %>% select(Y_Data1, Y_Data2), plot_type = "point", color = NULL, fill = NULL, shape = c(2, 4), linetype = NULL, log = NULL, main = "karada-good", xlab = "X Data", ylab = "Y Data", legend_label = NULL, legend_title = "karada-good", desc_stat = "mean_se") ###例:violin##### ggmatplot(x = TestData %>% select(X_Data1, X_Data2), plot_type = "violin", color = NULL, fill = c("#a87963", "red"), alpha = 0.4, main = "karada-good", xlab = "X Data", ylab = "Value", legend_label = NULL, legend_title = "karada-good", desc_stat = "mean_se") ###In the case of ggplot2 TestData %>% select(X_Data1, X_Data2) %>% pivot_longer(cols = X_Data1:X_Data2, names_to = "Name", values_to = "Value") %>% ggplot(aes(x = Name, y = Value, fill = Name)) + geom_violin(alpha = 0.4) + scale_fill_manual(values = c("#a87963", "red")) + labs(title = "karada-good", x = "X Data", y = "Value", fill = "karada-good") ###Exsample:BoxPlot##### ggmatplot(x = TestData %>% select(X_Data1, X_Data2), plot_type = "boxplot", color = c("#a87963", "red"), fill = c("#a87963", "red"), main = "karada-good", xlab = "X Data", ylab = "Value", legend_label = NULL, legend_title = "karada-good", desc_stat = "mean_se") ###In the case of ggplot2 TestData %>% select(X_Data1, X_Data2) %>% pivot_longer(cols = X_Data1:X_Data2, names_to = "Name", values_to = "Value") %>% ggplot(aes(x = Name, y = Value, fill = Name, col = Name)) + geom_boxplot(alpha = 0.5) + scale_fill_manual(values = c("#a87963", "red")) + scale_color_manual(values = c("#a87963", "red"), guide = "none") + labs(title = "karada-good", x = "X Data", y = "Value", fill = "karada-good") ###Exsample:ecdf##### ggmatplot(x = TestData %>% select(X_Data1, X_Data2), plot_type = "ecdf", color = NULL, fill = c("#a87963", "red"), main = "karada-good", xlab = "X Data", ylab = "Value", legend_label = NULL, legend_title = "karada-good", desc_stat = "mean_se") ###In the case of ggplot2 TestData %>% select(X_Data1, X_Data2) %>% pivot_longer(cols = X_Data1:X_Data2, names_to = "Name", values_to = "Value") %>% ggplot(aes(x = Value, col = Name)) + stat_ecdf(geom = "step") + scale_color_manual(values = c("#a87963", "red")) + labs(title = "karada-good", x = "X Data", y = "Value", col = "karada-good")
Output Example
・Scatter Plot
・Exsample:violin
・Exsample:BoxPlot
・Exsample:ecdf
I hope this makes your analysis a little easier !!