r语言 - 规范化路径( "report.Rmd" ) 中的警告:路径 [1]= "report.Rmd":没有这样的文件或目录



我试图从闪亮的网站上复制一个示例,但遇到了以下错误。似乎有问题。Rmd文件。代码似乎保存了报告。临时目录中的Rmd文件,但不知怎么的,当我试图下载绘图时,它没有读取它。

代码

# load required packages 
library(shiny) 
library(shinydashboard)
library(tidyverse) 

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, server)

错误

Listening on http://127.0.0.1:5552
Warning in normalizePath("report.Rmd") :
path[1]="report.Rmd": No such file or directory
Warning: Error in file.copy: file can not be copied both 'from' and 'to'
[No stack trace available]

老实说,您的代码让我有点困惑。我更改了一些内容,成功地将报告下载到我的tempdir((中,所以希望这能回答您的问题。

content = function(file) {
library(rmarkdown)

tempReport <- file.path(tempdir(), "report.Rmd")
file.copy("report.Rmd", tempReport, overwrite = TRUE)

render(tempReport, switch(
input$format,
PDF = pdf_document(), HTML = html_document(), Word = word_document()
))
}

我不得不创建报告。Rmd文件,然后再运行上面的代码。这很有魅力。

最新更新