R Shiny Server не будет принимать входные данные пользовательского интерфейса. Утверждает "неверные аргументы" - PullRequest
1 голос
/ 01 июля 2019

Я перебрал множество других вопросов о стековом потоке, и я не нашел решения, которое заставляет все работать, поэтому я был бы признателен за ваш вклад.

Я использую R Shiny, чтобы получить некоторые входные данные, сделать некоторые вычисления и вывести некоторые результаты. Ошибка объяснена ниже.

Я сократил свое приложение до некоторого очень простого кода, чтобы попытаться изолировать проблему. Упрощенный пример, приведенный ниже, продолжает возвращать ошибку «неверные аргументы». Он имеет три входа, простой расчет и гистограмму.

Я могу заставить его работать, если я использую только синтаксис «input $ variable» в функции построения графиков, но это в лучшем случае утомительно и ограничивает (особенно когда мне нужно сделать другие вычисления). Я также уже написал много кода на обычном R, и я бы не стал полностью переписывать его.

ui.R

library(shiny)
shinyUI(fluidPage(
        titlePanel("Plot Exponentially-generated Random Numbers"),
        sidebarLayout(sidebarPanel(
                numericInput(
                        "means",
                        "How Many Means?",
                        value = 100,
                        min = 1,
                        max = 200,
                        step = 1
                ),
                numericInput(
                        "numInMeans",
                        "Values in each mean: ",
                        value = 25,
                        min = 1,
                        max = 50,
                        step = 1
                ),
                sliderInput('lambda', 'Lambda', .01, 1, value = .2, step = .01)
        ),
        mainPanel(plotOutput("distPlot")))
))

server.R

library(shiny)
shinyServer(function(input, output) {
        total <- reactive({input$means*input$numInMeans})
        iLambda <- .2
        output$distPlot <- renderPlot({
                hist(rexp(n = total, rate = iLambda))
        })   
})

Кажется, что пользовательский интерфейс работает нормально.

Я ожидаю простую гистограмму, которая изменится при настройке числовых входов и ползунка. Он должен умножить числовые входные данные вместе, найти, что много экспоненциально распределенных случайных значений (на основе значения лямбда), и вывести гистограмму. (Обратите внимание, что в этом примере я даже не использовал лямбда-значение uer ​​для ввода.)

...