#r #shiny
#r #блестящий
Вопрос:
Я искал и не нашел хороших ответов на этот вопрос, но я делаю интенсивные вычисления, которые очень длинные и очень сложные. Трудно следить за кодом, если я помещаю все уравнения в рендеринг таблицы данных или гистограммы и т.д.
Есть ли простой способ сделать что-то подобное, когда пользователь вводит свои входные данные?
server <- function(input, output, session){
df <- data.frame(c(12984 (input$spend *1000), input$sales)
}
Комментарии:
1. Вы знали об
reactive()
?2. Действительно, создайте реактивный объект, зависящий от соответствующих источников. Вот обзор от сотрудников RStudio относительно реактивности. Довольно простая вещь, которую нужно понять, если вы хотите разрабатывать полезные блестящие приложения.
3. Я не знаю, что делать. Мне нужен ответ…
Ответ №1:
Как предложено в комментариях, вы должны использовать реактивное выражение для использования реактивного ввода:
server <- function(input, output, session){
# Creation of the reactive function
df <- reactive({
data.frame(c(12984 (input$spend *1000), input$sales)
})
# Create reactive function output
output$data <- renderTable( df() )
}
Обратите внимание, что реактивные данные — это функция, отсюда и вызов df()
для генерации выходных данных.
Комментарии:
1. Вчера я нашел ответ. Мне не хватало
()
послеdf
. Ты опередил меня в ответе на вопрос, лол, так что поздравляю!