плохо знакомы с использованием Rshiny. Мой вопрос в основном касается внешнего вида выпадающих баров. Есть 2 кадра данных, один имеет данные автомобиля, а другой показывает расстояния. И выпадающие панели зависят от того, что было выбрано до этого.
Мне было интересно, смогу ли я сделать так, чтобы выбранные входы «стоимость» и «расстояние в милях» выглядели просто как обычное поле без стрелки выпадающего меню?
Извините, если на этот вопрос уже был дан ответ, возможно, мои навыки поиска в Google еще не самые лучшие для кодирования! Посмотрев вокруг, я вижу, что использование множественного = ИСТИНА избавляет от этой стрелки, но это означает, что человек должен выбрать ее, а я не хочу, она должна просто автоматически появиться после того, как они выбрали предыдущие поля.
Вторая мысль заключалась в том, чтобы вместо этого использовать какой-то текстовый вывод, но я думаю, что тогда я потеряю хорошее форматирование поля и подзаголовка, и теперь у меня нет идей. И я не уверен, как бы я связал это, если это не selectinput .... Так у кого-нибудь есть предложение для этой проблемы?
изображение того, что у меня есть, красный крестик показывает, что я не хочу стрелку вниз
Мой код:
library(shiny)
Df <- data.frame(Manufacturer= c(rep("ford", 4)),
Model= c(rep("esport",2), rep("fiesta",2)),
transmission= c(1,2,3,4), cost=c(2,4,6,8))
Distance1 <- data.frame(Origin= c("leeds", "London", "Glasgow"),
Destination = c("Bristol", "Cardiff", "London"),
Distance= c(12,13,14))
ui <- fluidPage(
fluidRow(
column(4, wellPanel(
selectInput("Select1", "Choose your Manufacturer", sort(Df$Manufacturer),
unique(Df$Manufacturer)),
selectizeInput("Select2", "Choose your Model", sort(Df$Model),
options= list(
placeholder = '',
onInitialize = I('function() { this.setValue(""); }'))),
selectizeInput("Select3", "Choose transmission", sort(Df$transmission),
options= list(
placeholder = '',
onInitialize = I('function() { this.setValue(""); }'))),
selectInput("Select4", "cost", choices= NULL),
selectizeInput("Select5", "Choose Origin", sort(Distance1$Origin),
options= list(
placeholder = '',
onInitialize = I('function() { this.setValue(""); }'))),
selectizeInput("Select6", "Choose Destination", sort(Distance1$Distance),
options= list(
placeholder = '',
onInitialize = I('function() { this.setValue(""); }'))),
selectInput("Select7", "Distance in Miles", choices= NULL),
textOutput("total1")
))))
server <- function(input, output,session) {
observeEvent(input$Select1,{
updateSelectInput(session,'Select2',
choices=unique(Df$Model[Df$Manufacturer==input$Select1]))
})
observeEvent(input$Select2,{
updateSelectInput(session,'Select3',
choices=unique(Df$transmission[Df$Manufacturer==input$Select1 &
Df$Model==input$Select2]))
})
observeEvent(input$Select3,{
updateSelectInput(session,'Select4',
choices=unique(Df$cost[Df$Manufacturer==input$Select1 &
Df$Model==input$Select2 &
Df$transmission==input$Select3]))
})
observeEvent(input$Select5,{
updateSelectInput(session,'Select6',
choices=unique(Distance1$Destination[Distance1$Origin==input$Select5]))
})
observeEvent(input$Select6,{
updateSelectInput(session,'Select7',
choices=unique(Distance1$Distance[Distance1$Origin==input$Select5 &
Distance1$Destination==input$Select6]))
})
output$total1 <- renderText({as.numeric(input$Select4) * as.numeric(input$Select7)})
}
shinyApp( ui= ui, server= server)