Я пытаюсь создать блестящую страницу, где в раскрывающемся списке Выбор ввода выбирается функция для применения к набору данных (различные функции построения моего собственного создания).
Я попытался определить и присвоить список спискумои нужные функции.
soil_function_list = c(data.sum, texture.triangle.plot, compaction.plot, carbon.plot, percent.change.plot)
names(soil_function_list) = c("Data Table", "Texture Triangle", "Compaction Plot", "Carbon Plot", "Change Plot")
Затем в пользовательском интерфейсе функция selectInput ссылается на следующие имена:
ui <- shinyUI(
navbarPage(
title = "Title",
tabPanel("Soil",
selectInput("soilplottype", "Choose Plot Type", choices = names(soil_function_list)),
mainPanel(plotOutput("soilplot"))),
)
)
Затем на сервере я хочу, чтобы выходные данные применяли любую функцию на основе ввода
server <- function(input, output) {
output$soilplot = renderPlot({
func = input$soilplottype
soil_function_list$func(data)
})
}
Это возвращает ошибку на моей странице, которая говорит "попытка применить не-функцию", поэтому я подозреваю, что проблема в том, как я обращаюсь к моей библиотеке функций.
Когда я пытаюсь использовать эти функции непосредственно из earth_function_list, он ставит обратные метки, что прекрасно работает, например:
soil_function_list$'Data Table'(data)
Я не совсем уверен, что они означают или как их применять вблестящая структура ввода.Что я тут не так делаю?
Спасибо!