R语言 如何在Shiny中获取文件并将输入传递到源文件

ajsxfq5m  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(76)

我有一个像下面这样的闪亮应用程序。当我按下Execute按钮时,我想source(test.R)。下面工作正常。但是,我想test.Rinput$id作为输入,并基于它执行。我怎么能做到这一点?我尝试了下面的,它不工作。
闪亮的应用程序:

library(shiny)

ui <- fluidPage(
  titlePanel('Test App'),
  sidebarLayout(
    sidebarPanel(
      textInput(
        inputId = 'customer_id',
        label = 'Type an ID',
        value = 'G123'
      ),
      actionButton(
        inputId = 'run',
        label = 'Execute'
      )
    ),
    mainPanel(
      textOutput('display')
    )
  )

)

server <- function(input, output, session) {
  output$display <- renderText({'Test Text'})
  
  observeEvent(input$run, {
    source("test.R")
  })
  
}

shinyApp(ui, server)

字符串
试验R:

val <-
  reactive({
    print(input$customer_id)
  })

bnl4lu3b

bnl4lu3b1#

我在同一个工作目录中创建了两个文件app.Rtest.R

  • app.R*
library(shiny)

source("test.R")

ui <- fluidPage(
  titlePanel('Test App'),
  sidebarLayout(
    sidebarPanel(
      textInput(inputId = 'customer_id',label = 'Type an ID',value = 'G123'),
      actionButton(inputId = 'run',label = 'Execute')
    ),
    mainPanel(
      textOutput('display')
    )
  )
  
)

server <- function(input, output, session) {
  output$display <- renderText({'Test Text'})
  
  observeEvent(input$run, {
    my_fun(input$customer_id)
  })
  
}

shinyApp(ui, server)

字符串

  • test.R*
my_fun <- function(input_value) {
  print(input_value)
}


当你运行app.R并点击Execute!时,你会看到客户ID打印在控制台上。

相关问题