Hi @str_guru,
To draw a plot and a table side-by-side, you first need to convert the table into a "grob" (graphical object). Here is an example using the gridExtra package :
library(ggplot2)
plot1 <- ggplot(data=mtcars, aes(x=disp, y=mpg)) + geom_point()
plot2 <- ggplot(data=mtcars, aes(x=hp, y=disp)) + geom_point(col="blue", size=2)
library(gridExtra)
table1 <- head(mtcars[,1:2])
table1
#> mpg cyl
#> Mazda RX4 21.0 6
#> Mazda RX4 Wag 21.0 6
#> Datsun 710 22.8 4
#> Hornet 4 Drive 21.4 6
#> Hornet Sportabout 18.7 8
#> Valiant 18.1 6
table1_grob <- gridExtra::tableGrob(table1)
plot(table1_grob)

gridExtra::grid.arrange(plot1, plot2, nrow=1)

gridExtra::grid.arrange(plot1, table1_grob, nrow=1)

gridExtra::grid.arrange(plot1, plot2, table1_grob, nrow=2)

Created on 2021-01-14 by the reprex package (v0.3.0)
HTH