如何通过在R Shining应用程序中从下拉菜单中选择脚本来运行脚本?

如何通过在R Shining应用程序中从下拉菜单中选择脚本来运行脚本?,r,shiny,shinyapps,shiny-reactivity,R,Shiny,Shinyapps,Shiny Reactivity,我正在尝试创建一个闪亮的应用程序,用户从下拉菜单中选择一个R标记文件,然后在应用程序中呈现该文件,该文件的输出即弹出一个pdf文件 我在创建下拉菜单方面没有问题,但我正在努力解决如何在脚本的服务器端编写所有这些内容 我怎样才能从下拉菜单中获得一个闪亮的应用程序来渲染R标记文件?感谢您的帮助。如评论中所述: library(shiny) shinyApp( ui = fluidPage( selectInput("report", "Report"

我正在尝试创建一个闪亮的应用程序,用户从下拉菜单中选择一个R标记文件,然后在应用程序中呈现该文件,该文件的输出即弹出一个pdf文件

我在创建下拉菜单方面没有问题,但我正在努力解决如何在脚本的服务器端编写所有这些内容


我怎样才能从下拉菜单中获得一个闪亮的应用程序来渲染R标记文件?感谢您的帮助。

如评论中所述:

library(shiny)
shinyApp(
  ui = fluidPage(
    selectInput("report", "Report", choices=c('Report1.Rmd','Report2.Rmd')),
    downloadButton("report", "Generate report")
  ),
  server = function(input, output) {
    output$report <- downloadHandler(
      # For PDF output, change this to "report.pdf"
      filename = "report.html",
      content = function(file) {
        # Set up parameters to pass to Rmd document
        params <- list(n = 1)
        
        rmarkdown::render(input$report, output_file = file,
                          params = params,
                          envir = new.env(parent = globalenv())
        )
      }
    )
  }
)

这可能会有帮助:,您只需要将report.Rmd替换为您选择的文件。我猜如果我使用输入函数不断更改的是路径文件,那么我必须更改rmarkdown::render(tempReport,output_file=file,params=params,envir=new.env(parent=globalenv()将脚本的一部分转换为更像这样的内容?rmarkdown::render(输入$variable,输出_file=file,参数=params,envir=new.env(parent=globalenv())
title: "Dynamic report 1"
output: html_document
params:
  n: NA
---

```{r}
# The `params` object is available in the document.
params$n
```

A plot1 of `params$n` random points.

```{r}
plot(rnorm(params$n), rnorm(params$n))
```