我想使用Rmarkdown文件创建一个pdf文档作为我的应用程序的报告。 我这里有两个问题。
首先:创建了pdf文件,但它是空的,因为我收到了这个错误:
Output created: report.pdf
Error opening file: 2
Error reading: 9
以下是我的闪亮应用的简化代码:
Server.R
library(shiny)
library(drsmooth)
library(shinyBS)
library(knitr)
library(rmarkdown)
shinyServer(function(input, output,session) {
...get input from user...
output$report <- downloadHandler(
filename <- 'report.pdf',
content <- function(file) {
rmarkdown::render('report.Rmd')
},
contentType = 'application/pdf')
})
output$tb <- renderUI({
if(is.null(data1())) {
tags$p(tags$h1("Welcome!")
} else {
tabsetPanel(
tabPanel("Preliminary stats")
tabPanel("Report",downloadButton('report'))
}
report.Rmd (这只是R studio提供的模板,所以我的应用程序的输入部分很重要)
---
title: "REPORT"
author: " "
date: "`r Sys.Date()`"
output: pdf_document
---
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
```{r}
summary(cars)
```
You can also embed plots, for example:
```{r, echo=FALSE}
plot(cars)
```
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
当我点击下载按钮时,我可以从Rstudio控制台的输出中看到输出report.pdf已创建,但它是空的,下载没有开始。有什么想法吗?
第二个问题只有在你能帮助我解决问题时才有意义。 我可以在Rmarkdown文件中使用应用程序中创建的Rshiny对象来生成pdf报告(而不是html)吗?
如有任何进一步的信息或澄清,请告诉我。
提前致谢,
丹尼尔