如何使用SHINY中另一个脚本上的按钮运行另一个脚本?

时间:2017-07-20 05:46:50

标签: r shiny

如何通过单击SHINY中的actionButton来运行R脚本的代码?该按钮将调用保存在同一目录中的脚本并运行该脚本的功能。我尝试过使用source(" code.R"),但我无法成功完成。

1 个答案:

答案 0 :(得分:1)

由于代码尚未共享,我尝试制作一个虚拟闪亮的应用程序并对其进行测试。让我知道你在哪里偏离。请同时分享您正在处理的错误。

test.R:

bins <- function(n_bin){
 x    <- faithful[, 2]
 bins <- seq(min(x), max(x), length.out = n_bin + 1)

 # draw the histogram with the specified number of bins
 hist(x, breaks = bins, col = 'darkgray', border = 'white')
} 

ui.R:

library(shiny)

shinyUI(fluidPage(

# Application title
titlePanel("Old Faithful Geyser Data"),

# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
  sliderInput("bins",
              "Number of bins:",
              min = 1,
              max = 50,
              value = 30),
  actionButton("goButton", "Go!")
),

# Show a plot of the generated distribution
mainPanel(
  plotOutput("distPlot")
))))

server.R

library(shiny)

shinyServer(function(input, output) {
 observeEvent(input$goButton,{
 source("test.R")
 output$distPlot <- renderPlot({    

  bins(input$bins)
})})})