Я использую R Shiny в сочетании с ggplot для визуализации определенного набора данных. Я хочу, чтобы пользователь мог добавлять значения в этот набор данных. Я могу заставить свое приложение показать мне исходные данные + одну точку данных, но как только пользователь вводит новую точку, старая исчезает: данные, введенные пользователем, фактически не хранятся в моем фрейме данных.
Часть кода, который я использую (для простоты изменены имена переменных):
shinyServer(
function(input, output) {
output$newPlot <- renderPlot({
input$addButton
isolate({
x <- as.numeric(input$x)
y <- as.numeric(input$y)
if (!is.na(y)) {
data <- rbind(data, data.frame(x = x, y = y))
# more code here
}
# more code here
plot <- myPlot(data)
print(plot)
})
})
}
)
Пользователь может указать значения x и y с помощью textInput
, а затем отправить эти значения с помощью кнопки (actionButton
). Каждый раз, когда пользователь нажимает «добавить», самые последние введенные значения x и y отображаются поверх исходных данных, но любые другие значения, введенные пользователем (в том же сеансе), теряются. Как мне сделать так, чтобы я блестяще помнил, что вводят мои пользователи, и рисовал все это?