gpt4 book ai didi

r - Shiny Server 缺少由 R markdown 文件生成的图表

转载 作者:行者123 更新时间:2023-12-04 04:14:36 25 4
gpt4 key购买 nike

我有一个 R markdown 文件,我希望可以在我的公司 Shiny Server 上使用它。

根据R Markdown: The Definitive Guide我可以加runtime: shiny到 Rmd 文件顶部的 YAML 元数据,将其转换为 Shiny 文档。我已经这样做了并且它有效。如果我在 RStudio 中单击“运行文档”,它将运行 Rmd,我将毫无问题地看到报告。

我的项目位于ShinyApps Shiny Server 正在寻找要服务的应用程序的目录。当我点击这个项目的 URL 时,我得到了没有任何图表的报告。我只是在图表应该出现的地方得到损坏的图像图标。 (我使用的是 RStudio Server,因此它与 RStudio 和 Shiny Server 访问的文件完全相同)。

R 版本 3.4.3,Shiny 服务器版本 1.5.6.875

更新:我用最简单的例子重现了这个行为。我创建了一个新的 RStudio 项目 - 只是一个普通项目 - 名为 TEST位于我的 ShinyApps 目录中。然后我创建了一个新的 R Markdown 文件,我称之为 TEST.Rmd。该文件使用 cars 预先填充了示例 RMarkdown和 pressure内置数据集。我更改了 YAML header 以包含 runtime: shiny .正如预期的那样,RStudio 的“knit”按钮被“运行文档”按钮取代,单击它会运行文档并按预期工作。尝试通过 Shiny Server 查看页面有同样的问题,即不包括情节;一个 splinter 的图像图标取而代之。

更新 2:根据要求,这里是 Markdown 文件。它实际上是 RStudio 生成的示例文件,并添加了 runtime: shiny在 YAML header 中。

---
title: "Test RMarkdown"
author: "Michael Henry"
date: "4/6/2020"
output: html_document
runtime: shiny
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## R Markdown

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 cars}
summary(cars)
```

## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

更新 3:所以我在服务器上四处寻找 Shiny Server 的日志文件。我没有任何管理员权限,所以我以前从未寻找过这个,但我发现了一个日志文件,其中包含: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard .事实证明,RHEL 中有一个错误,它有一个可用的修复程序,所以我已经向我的管理员提出了应用修复程序的请求。应用此方法后,我将报告它是否解决了我的问题。

更新 4:事实证明我的 RHEL 服务器是最新的;它已经具有错误修正建议的 glib2 版本。因此,我仍然收到此错误的事实是我的管理员将升级到 Red Hat。

更新 5:Red Hat 支持建议存在另一个 glib2 so 文件,结果确实如此。删除此文件解决了问题!

最佳答案

因此,我认为您可能需要添加一些额外的代码,以使 Markdown 应用程序在 Shiny Server 环境中按预期运行
尝试使用以下内容包装图表和绘图:

renderPlot({})
这给服务器一个命令,既运行绘图,又使其可用于 Shiny 文档。对于 R 程序员来说,Shiny 是一件很奇怪的事情。
您基本上是在 R 环境中计算和创建事物,然后将它们交给需要用自己的语言知道要做什么的 Javascript/HTML。那个 renderPlot({})告诉 JS 组件如何将 R 输出提升到您的页面。
您可以从引用文档的这一部分中看到您链接的格式是什么以及它是如何被 Shiny 提升到页面的。 enter image description here
如果您在执行此操作后仍然卡住,请伸出手,我会尽力帮助解决问题!

关于r - Shiny Server 缺少由 R markdown 文件生成的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60982717/

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