Я перебрал множество других вопросов о стековом потоке, и я не нашел решения, которое заставляет все работать, поэтому я был бы признателен за ваш вклад.
Я использую 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 для ввода.)