Использование selectInput для определения, какую функцию применять в r блестящий - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь создать блестящую страницу, где в раскрывающемся списке Выбор ввода выбирается функция для применения к набору данных (различные функции построения моего собственного создания).

Я попытался определить и присвоить список спискумои нужные функции.

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)

Я не совсем уверен, что они означают или как их применять вблестящая структура ввода.Что я тут не так делаю?

Спасибо!

...