#r #plot #ggplot2 #shiny #shiny-server
#r #построение #ggplot2 #блестящий #shiny-сервер
Вопрос:
output$boxPlot <- renderPlot({
boxplot(input$fileSelect$input$cateSelect, main = "Box plot", ylab = "KJ")
})
Я создаю интерфейс, в котором пользователь может выбрать, какой файл и какой столбец данных они хотят отобразить. Я использовал условие if для решения этой проблемы, но есть ли лучший способ решить эту проблему?
Комментарии:
1. Какова фактическая структура
input$fileSelect
? Насколько я знаю, нет ввода, который напрямую возвращает data.frame. Было бы очень полезно, если бы вы включили воспроизводимый пример.2. Эти примеры должны помочь: shiny.rstudio.com/gallery/kmeans-example.html , shiny.rstudio.com/gallery/widgets.html
Ответ №1:
Вы имеете в виду что-то вроде этого? (предполагается, что input$fileSelect
это объект данных и input$cateSelect
является символом)
input$fileSelect[[input$cateSelect]]
Комментарии:
1. Привет, Nilsole, у меня есть два входа, один из которых назван как fileSelect для файла фрейма данных, а другой назван как cateSelect (имя столбца хранится в «символах»). Я пробовал ваш путь, но «нижний индекс выходит за рамки» — это сообщение об ошибке. Большое спасибо за ваше решение.
2. Ну, идея состоит в том, чтобы обрабатывать все входные данные отдельно.
input$cateSelect
отличается отinput$fileSelect
, поэтому вы не можете и не должны объединять их знаками доллара. Не имея дополнительной информации о вашем приложении, я не могу дать вам больше советов.