angegeben ist Hier ist eine einfache App, um mein Problem zu veranschaulichen. Wenn ich selectizeInput verwende, ohne den Standardwert anzugeben, zeigt das Mainpanel einfach eine Fehlermeldung an. Was ich brauche, ist ein leerer Plot, wenn nichts ausgewählt wird. Wie ändere ich meinen Code?Fehlermeldung, wenn kein Standardwert in selectizeInput in r glänzend App
library(shiny)
library(datasets)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectizeInput('var', 'choose variable',
choices = names(mtcars),
options = list(
placeholder = 'Please select an option below',
onInitialize = I('function() { this.setValue(""); }'))
)
),
mainPanel(
plotOutput('hist')
)
)
)
server <- function(input, output) {
output$hist <- renderPlot ({
hist (eval(parse(text=(paste0('mtcars$', input$var)))))
})
}
shinyApp(ui, server)
Vielen Dank! eine Folgefrage: Warum brauchen Sie doppelte eckige Klammern um auf die Variable zuzugreifen? – zesla
Gern geschehen, bitte akzeptieren Sie meine Antwort, wenn es Ihr Problem löst. Für die data.frame-Unterteilung ist es so, weil data.frames als Liste bezeichnet werden, so dass Sie mit $ oder '[[' 'like with list '' auf das Element zugreifen können. Sie könnten 'mtcars [, iput $ var]' auch tun. Schau dir dieses Cheatsheet an, es ist gut erklärt: http://github.com/rstudio/cheatsheets/raw/master/source/pdfs/base-r.pdf – Victorp