gpt4 book ai didi

r - 如何将 rmarkdown 报告与 shinyapps 链接以在 R 中导出 webapp 内容?

转载 作者:行者123 更新时间:2023-12-03 17:17:45 24 4
gpt4 key购买 nike

我正在尝试构建一个在 R 中具有光泽的 webapp,它通过几个表、一个动态图和一个图像来显示不同指标的值。结果就像从列表中选择的项目的资料表,我想捕获结果并提供下载屏幕上显示的内容(表格、图表和图像)的可能性。

我看到我可以通过在 Rmarkdown 中生成报告并使用 downloadHandler 将其导出,按照这个示例 (http://dev.use-r.com/shiny-examples/016-knitr-pdf) 来做到这一点。据我了解,在服务器中, output$downloadReport 根据先前存储在与 ui.R 和 server.R 相同的目录中的报告模板创建由文件名和内容组成的对象:

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

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

# 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')

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

为了检查此示例中的报告模板,我遵循了此 ( https://github.com/rstudio/shiny-examples/blob/master/016-knitr-pdf/report.Rmd)。但是,当我想创建我的“report.Rmd”模板时,我发现有不同的方法可以创建一个新的 R markdown 文档(具有不同输出格式、演示、 Shiny 和模板的文档),并且这种选择会影响输出。我尝试了其中一些,但没有成功。

例如,我采用了一个新的 R Markdown 文档 html 输出格式,命名为“report.Rmd”,并保存在与 ui 和服务器文件相同的文件夹中。有一些非常简单的内容:
title: "Untitled"
author: "Raquel_ub"
date: "Tuesday, October 27, 2015"
output: html_document
---

# Selected city
```{r, echo=FALSE}
level(input$City_id)
```

我收到此非信息性错误:
Error opening file: 2
Error reading: 6

任何关于正在发生的事情的提示/线索都非常受欢迎!

非常感谢,
拉奎尔

啊,我的 session 信息:
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Spanish_Spain.1252 LC_CTYPE=Spanish_Spain.1252
[3] LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C
[5] LC_TIME=Spanish_Spain.1252

attached base packages:
[1] splines stats graphics grDevices utils datasets methods base

other attached packages:
[1] rmarkdown_0.8.1 shiny_0.12.2 rsconnect_0.4.1.7 rCharts_0.4.5
[5] doBy_4.5-13 survival_2.37-7 foreign_0.8-66

loaded via a namespace (and not attached):
[1] digest_0.6.8 evaluate_0.8 formatR_1.2.1 grid_3.1.1
[5] htmltools_0.2.6 httpuv_1.3.3 jsonlite_0.9.17 knitr_1.11
[9] lattice_0.20-29 magrittr_1.5 MASS_7.3-33 Matrix_1.1-4
[13] mime_0.4 packrat_0.4.5 plyr_1.8.3 R6_2.1.1
[17] Rcpp_0.12.1 RJSONIO_1.3-0 rstudio_0.98.977 rstudioapi_0.3.1
[21] stringi_1.0-1 stringr_1.0.0 tools_3.1.1 whisker_0.3-2
[25] xtable_1.7-4 yaml_2.1.13

最佳答案

我遇到了类似的情况,也试过downloadHandler但我无法让它发挥作用,所以我所做的是:

  • 在服务器代码块中,将生成的图、data.frames 等放在全局环境中,如下所示:plot1<<-ggplot() .
  • save("df.1","plot1", file="path/to/file/MyData.RData") 保存这些对象.
  • 加载MyData.RData template.Rmd 中的文件文件:
  • ```{r, echo=FALSE, message=FALSE}
    load("path/to/file/myData.RData")
    ```

    我认为其余的很容易弄清楚。

    干杯!

    关于r - 如何将 rmarkdown 报告与 shinyapps 链接以在 R 中导出 webapp 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33367154/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com