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