【发布时间】:2017-09-27 15:27:39
【问题描述】:
我的代码基于this page on R Studio on creating apps with downloadable reports。我创建了以下 app 和 .Rmd 文档,它们都保存在同一个目录中:
app.R:
library(rmarkdown)
library(shiny)
shinyApp(
ui = fluidPage(
sliderInput("slider", "Slider", 1, 100, 50),
downloadButton("report", "Generate report")
),
server = function(input, output) {
output$report <- downloadHandler(
filename = "report.pdf",
content = function(file) {
tempReport <- file.path(tempdir(), "report.Rmd")
file.copy("report.Rmd", tempReport, overwrite = TRUE)
params <- list(n = input$slider)
render(tempReport, output_file = file,
params = params,
envir = new.env(parent = globalenv())
)
}
)
}
)
report.Rmd:
---
title: "Dynamic report"
output: pdf_document
params:
n: NA
---
```{r}
# The `params` object is available in the document.
params$n
```
A plot of `r params$n` random points.
```{r}
plot(rnorm(params$n), rnorm(params$n))
```
当我单击“生成报告”按钮时,保存的文件称为“报告”,而实际上我将其命名为“report.pdf”。我最终不得不手动将“.pdf”添加到文件名中,以便我的计算机将其识别为 PDF 文档。
文件名与我指定的不完全匹配是否有原因?我还能做什么?
【问题讨论】: