Я создаю пользовательский интерфейс R Shiny (разделенный на пользовательский интерфейс и сервер), который тратит около трех часов на создание базы данных клинических записей о заболеваниях с учетом некоторых параметров блестящего пользовательского интерфейса.По завершении data.frame передается в модель Кокса, и результат будет отображаться в виде графика.
При запуске R на терминале код будет печатать информацию в течение этих трех часов, например, сколько пациентов / лекарств было проанализировано.
Я пытался использовать отдельные функции пользовательского интерфейса textOutput, но мне не удается обновить textOutput из вызова функции, выполняемой при нажатии кнопки.Я считаю, что это может быть связано с областью применения.Мой код разделен по пользовательскому интерфейсу и серверу:
Примечание: кнопка нажата один раз, и я хотел бы, чтобы textOutput несколько раз обновлялся по этому клику при вызове изнутрипетля.
library(shiny)
shinyUI(fluidPage(
# Application title
titlePanel("CPRD EHR Statistical Toolset"),
sidebarLayout(
sidebarPanel(
helpText("A long list of Input features below here."),
mainPanel(
h4("Medical record construction"),
textOutput("numPatientsOutput"),
actionButton("executeButton", "Execute Cox")
)
)
)
))
library(shiny)
shinyServer(function(input, output) {
observeEvent(input$executeButton, {
coxDF<-runBuildModel(input, output)
}) #endf of execute action
})
runBuildModel <- function(input, output) {
for(i in 1:10) {
#This is not updating.
output$numPatientsOutput <- renderText({paste("patient:",i)})
}
}