Thank you for your availability and I'm sorry for being short. I'm new in this forum.
Here my reprex:
Thanks in advance and hope you'll find it helpful to help me 
library(depmixS4)
library(ggrepel)
library(tidyverse)
library(ggplot2)
library(tidyr)
library(ggpubr)
library(shiny)
#DATASET
d = data.frame(Zone = c("NORD", "NORD", "NORD", "NORD", "SOUTH","NORD", "NORD", "NORD", "NORD", "SOUTH"), Purpose = c("OFF", "OFF", "OFF", "OFF", "OFF", "BID", "BID", "BID", "BID", "BID"), Price = c("10", "15", "20", "25", "30", "10","15", "20", "25", "30"), Quantity = c("100", "200", "300", "400","500", "500", "400", "300", "200", "100"))
#FUNCTION TO USE INSIDE THE SERVER
dem_sup = function(zone = "ZONE"){
sup = d %>% filter(Zone == zone ) %>% filter(Purpose == "OFF") %>% select(Quantity, Price)
sup$Quantity = as.numeric(sup$Quantity)
sup$Price = as.numeric(sup$Price)
plot_sup = sup %>% ggplot(aes(Quantity, Price))+ geom_point() + geom_smooth(se=FALSE, col = "orange")+ geom_smooth(method=lm, se=FALSE, col="green") + labs(x = "MWh", y = "Euro/MWh")+ theme_minimal()
dem = d %>% filter(Zone == zone) %>% filter(Purpose == "BID") %>% select(Quantity, Price)
dem$Quantity = as.numeric(dem$Quantity)
dem$Price = as.numeric(dem$Price)
plot_dem = dem %>% ggplot(aes(Quantity,Price))+geom_point()+geom_smooth(se=FALSE, col = "orange")+geom_smooth(method= lm, se = FALSE, col = "green")+labs(x="MWh", y="Euro/MWh")+ theme_minimal()
return(ggarrange(plot_sup, plot_dem, labels = c("Supply", "Demand"), font.label= list(size = 10), hjust = -1))
}
#UI
ui = function(request){
pageWithSidebar(
headerPanel("Interactive Supply and Demand"),
sidebarPanel(
selectInput("ZONE", "Please Select the Zone",
choices = c("NORD", "SOUTH"))
),
mainPanel(
plotOutput("myPlot")
)
)
}
#SERVER
server = function(input, output, session){
output$myPlot = renderPlot({
z = toString(input$zone)
dem_sup(zone = z)
})
}
shinyApp(ui = ui, server = server)