I want to use every time a different variable to put inside the plot() function to check for linearity using a shiny widget but I get: variable lengths differ (found for 'input$var')
## app.R ##
library(shiny)
library(shinydashboard)
library(shinyjs)
library(htmlwidgets)
ui <- dashboardPage(
dashboardHeader(
title="Task Managers' Workload Analysis",
titleWidth = 400
),
dashboardSidebar(
selectInput("var","Select variable",choices = colnames(diamonds),selected = colnames(diamonds)[1])
),
dashboardBody(
plotOutput("hist")
)
)
server <- function(input, output,session) {
output$hist<-renderPlot({
plot(price ~ input$var, data=diamonds)
})
}
shinyApp(ui, server)
>Solution :
You could either:
plot(eval(parse(text = input$var)) ~ price, data = diamonds)
or
plot(diamonds[[input$var]] ~ price, data = diamonds)