Install data and packages

options(repos = c(CRAN = "https://cran.rstudio.com/"))
install.packages("palmerpenguins")
## 
## The downloaded binary packages are in
##  /var/folders/fz/cf7z9g3d5472d9c2lw0q2x8w0000gn/T//Rtmpz8ExGQ/downloaded_packages
library(shiny)
library(ggplot2)
library(palmerpenguins)

UI

ui <- fluidPage(
  titlePanel("Palmer Penguins Dataset Explorer"),
  sidebarLayout(
    sidebarPanel(
      selectInput("species", "Select Species:",
                  choices = unique(penguins$species)),
      selectInput("variable", "Select Variable:",
                  choices = c("bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"))
    ),
    mainPanel(
      plotOutput("scatterPlot")
    )
  )
)

Server

server <- function(input, output) {
  output$scatterPlot <- renderPlot({
    req(input$species, input$variable)
    
    penguins_filtered <- penguins[penguins$species == input$species, ]
    penguins_filtered <- na.omit(penguins_filtered)
    
    ggplot(penguins_filtered, aes(x = !!sym(input$variable))) +
      geom_density(fill = "steelblue", alpha = 0.7) +
      labs(x = input$variable, y = "Density") +
      theme_minimal() +
      facet_wrap(~ species, nrow = 1)
  })
}

Run the app

shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents