Having three dataframes like this:
Dataframe 1:
df1 <- structure(list(company = structure(c(3L, 5L, 1L, 2L, 4L, 3L,
5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L,
1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L,
2L, 4L), .Label = c("amazon", "bsd", "google", "so", "yahoo"), class = "factor"),
period = structure(c(2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L), .Label = c("after", "before"), class = "factor"), val = c(0.262776250810038,
0.187917588433778, 0.697682733346741, 0.158756228911086,
0.378985944448169, 0.249033541149918, 0.157828875332395,
0.762575137985743, 0.148767625304462, 0.394985586914259,
0.268776116734822, 0.177604969721347, 0.694811289133204,
0.160510379656321, 0.389823691090702, 0.280675292172242,
0.181169135885232, 0.655493731983643, 0.177839601349691,
0.387633795892829, 0.257949543026971, 0.169661013161717,
0.665359433308753, 0.149795535295301, 0.384002592120846,
0.244474983799245, 0.162231011597506, 0.650253625617304,
0.147493910750598, 0.424582690889589, 0.291490692945409,
0.241190141002436, 0.622555920538089, 0.215134857321624,
0.383108757346205, 0.25750262563965, 0.230989251636835, 0.708699246944202,
0.193749860338316, 0.427264195213515)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -40L))
Second:
df2 <- structure(list(company = structure(c(3L, 5L, 1L, 2L, 4L, 3L,
5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L,
1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L,
2L, 4L), .Label = c("amazon", "bsd", "google", "so", "yahoo"), class = "factor"),
period = structure(c(2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L), .Label = c("after", "before"), class = "factor"), val = c(0.262776250810038,
0.187917588433778, 0.697682733346741, 0.158756228911086,
0.378985944448169, 0.249033541149918, 0.157828875332395,
0.762575137985743, 0.148767625304462, 0.394985586914259,
0.268776116734822, 0.177604969721347, 0.694811289133204,
0.160510379656321, 0.389823691090702, 0.280675292172242,
0.181169135885232, 0.655493731983643, 0.177839601349691,
0.387633795892829, 0.257949543026971, 0.169661013161717,
0.665359433308753, 0.149795535295301, 0.384002592120846,
0.244474983799245, 0.162231011597506, 0.650253625617304,
0.147493910750598, 0.424582690889589, 0.291490692945409,
0.241190141002436, 0.622555920538089, 0.215134857321624,
0.383108757346205, 0.25750262563965, 0.230989251636835, 0.708699246944202,
0.193749860338316, 0.427264195213515)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -40L))
Third:
df3 <- structure(list(company = structure(c(3L, 5L, 1L, 2L, 4L, 3L,
5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L,
1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L,
2L, 4L), .Label = c("amazon", "bsd", "google", "so", "yahoo"), class = "factor"),
period = structure(c(2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L), .Label = c("after", "before"), class = "factor"), val = c(0.262776250810038,
0.187917588433778, 0.697682733346741, 0.158756228911086,
0.378985944448169, 0.249033541149918, 0.157828875332395,
0.762575137985743, 0.148767625304462, 0.394985586914259,
0.268776116734822, 0.177604969721347, 0.694811289133204,
0.160510379656321, 0.389823691090702, 0.280675292172242,
0.181169135885232, 0.655493731983643, 0.177839601349691,
0.387633795892829, 0.257949543026971, 0.169661013161717,
0.665359433308753, 0.149795535295301, 0.384002592120846,
0.244474983799245, 0.162231011597506, 0.650253625617304,
0.147493910750598, 0.424582690889589, 0.291490692945409,
0.241190141002436, 0.622555920538089, 0.215134857321624,
0.383108757346205, 0.25750262563965, 0.230989251636835, 0.708699246944202,
0.193749860338316, 0.427264195213515)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -40L))
We can create a boxplot for every data frame using this:
library(stringr)
library(ggplot2)
df1 = pivot_longer(df1, everything())
df2 = cbind(df1,str_split_fixed(df1$name,"_",2))
colnames(df2)[3:4]=c("Company","Time")
ggplot(df2, aes(x=Company, y=value, fill=Time)) + geom_boxplot() + coord_flip()
How is it possible to have the box plots of the three dataframes in the same plot next to other and have the same y-axis (only one time) and have title that "this it df1", "this it df2" and "this it df3"? x-axis will be 3 time.