下载ShinyApp的PDF报告

时间:2017-07-26 16:11:17

标签: r r-markdown shiny

我正在尝试this shiny app 通过复制到我的电脑,如:

library(shiny)

ui <- fluidPage(

    title = 'Download a PDF report',
    sidebarLayout(
      sidebarPanel(
        helpText(),
        selectInput('x', 'Build a regression model of mpg against:',
                    choices = names(mtcars)[-1]),
        radioButtons('format', 'Document format', c('PDF', 'HTML', 'Word'),
                     inline = TRUE),
        downloadButton('downloadReport')
      ),
      mainPanel(
        plotOutput('regPlot')
      )
    )
  )
server <- function(input, output){
  regFormula <- reactive({
    as.formula(paste('mpg ~', input$x))
  })

  output$regPlot <- renderPlot({
    par(mar = c(4, 4, .1, .1))
    plot(regFormula(), data = mtcars, pch = 19)
  })

  output$downloadReport <- downloadHandler(
    filename = function() {
      paste('my-report', sep = '.', switch(
        input$format, PDF = 'pdf', HTML = 'html', Word = 'docx'
      ))
    },

    content = function(file) {
      src <- normalizePath('report.Rmd')

      # temporarily switch to the temp dir, in case you do not have write
      # permission to the current working directory
      owd <- setwd(tempdir())
      on.exit(setwd(owd))
      file.copy(src, 'report.Rmd', overwrite = TRUE)

      library(rmarkdown)
      out <- render('report.Rmd', switch(
        input$format,
        PDF = pdf_document(), HTML = html_document(), Word = word_document()
      ))
      file.rename(out, file)
    }
  )

}

shinyApp(ui=ui, server=server)

但是当我按下载时,我有以下错误:

Error

我正在使用阻止某些端口的公司计算机。这个错误是否与此有关?有人可以帮忙吗?

0 个答案:

没有答案