专栏首页庄闪闪的R语言手册R文档沟通|Dashboards入门(4)

R文档沟通|Dashboards入门(4)

简介

Dashboards入门前三期可见:R文档沟通|Dashboards入门(1)R文档沟通|Dashboards入门(2)R文档沟通|Dashboards入门(3),今天给出该系列最后一期:在Dashboards中添加 Shiny应用。内容比较少,最后给出一些拓展资料供大家参考。

在仪表盘中添加 Shiny,可以利用viewers更改参数,并显示实时结果。或者当仪表盘的数据发生变化时,让仪表盘进行实时更新(请参阅 shiny 包中的 reactiveFileReader()reactivePoll() 函数)。这是通过将 runtime: shiny 添加到标准仪表盘文档来实现的,然后添加一个或多个输入控件或响应式表达式来动态驱动仪表板内组件的外观。

flexdashboard 中使用 Shiny 可以将一个静态的 R Markdown 报告变成一个交互式文档。需要注意的是,交互式文档需要部署到 Shiny 的服务器上,以便广泛共享(而静态 R Markdown 文档是可以附加到电子邮件或从任何标准 web 服务器提供的独立 web 页面)。

注意, shinydashboard 包提供了用 Shiny 创建仪表盘的另一种方法。

入门指南

在仪表盘中添加 Shiny 组件的步骤如下:

  1. 在文档顶部 YAML 元数据中添加 runtime: shiny
  2. 在仪表盘第一列添加 {.sidebar} 属性,使其成为 Shiny 控件输入的控制台(:这一步不是必须的,但这是基于 Shiny 仪表盘的经典布局)。
  3. 根据需求,添加 Shiny 的输入和输出。
  4. 当代码中包含绘图函数时(例如:hist()),得将它们封装在 renderPlot() 中。这有利于界面在布局更改时,自动调整尺寸大小。

Shiny 仪表盘的一个示例

下图给出了 Shiny 仪表盘的一个示例:

---
title: "Old Faithful Eruptions"
output: flexdashboard::flex_dashboard
runtime: shiny
---

```{r global, include=FALSE}
# load data in 'global' chunk so it can be shared
# by all users of the dashboard
library(datasets)
data(faithful)
```

Column {.sidebar}
--------------------------------------------------

Waiting time between eruptions and the duration of the eruption
for the Old Faithful geyser in Yellowstone National Park,
Wyoming, USA.

```{r}
selectInput(
  "n_breaks", label = "Number of bins:",
  choices = c(10, 20, 35, 50), selected = 20
)

sliderInput(
  "bw_adjust", label = "Bandwidth adjustment:",
  min = 0.2, max = 2, value = 1, step = 0.2
)
```

Column
--------------------------------------------------

### Geyser Eruption Duration

```{r}
renderPlot({
  erpt = faithful$eruptions
  hist(
    erpt, probability = TRUE, breaks = as.integer(input$n_breaks),
    xlab = "Duration (minutes)", main = "Geyser Eruption Duration",
    col = 'gray', border = 'white'
  )
  
  dens = density(erpt, adjust = input$bw_adjust)
  lines(dens, col = "blue", lwd = 2)
})
```

其中,仪表盘的第一列包含了 {.sidebar} 属性和两个 Shiny 的输入控件;第二列包含了绘制图表的 Shiny 代码。

:文档顶部标记为 global 的 R 代码块在全局环境中都可以被调用。这将为用户带来更好的启动性能,强烈推荐大家使用。

输入栏

通过添加 {.sidebar} 属性设置一个默认布局为左对齐,250像素宽度的左侧边栏。

在搭建多个页面的仪表盘时,如果你想创建一个应用于所有页面的工具条。这时,你可以使用一级结构来定义侧边栏。

拓展

下面给出一些学习 Shiny 和创建交互式文档的资源:

  1. Shiny 官方网站( http://shiny.rstudio.com) :包含大量的文章、教程和示例。
  2. Shiny 网站上的文章“Introduction to Interactive Documents”,这是一个很好的入门指南。
  3. 关于部署交互式文档,你可以使用 Shiny Server 或 RStudio Connect:https://www.rstudio.com/products/shiny/shiny-server/。

本文分享自微信公众号 - 庄闪闪的R语言手册(Zss_R4ds),作者:庄闪闪

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R文档沟通|Dashboards入门(2)

    请注意,第一行文本(Coluumn 1)下的一系列破折号是第二级标题的另一种 Markdown 语法形式,即

    庄闪闪
  • R文档沟通|Dashboards入门(1)

    仪表盘在业务风格的报告中特别常见。它们可以用来突出报告的概要和关键内容。仪表盘的布局通常是基于网格搭建的,各个组件排列在各种大小的“盒子”中。

    庄闪闪
  • 盘点 Shiny 中的各种主题和 UI 插件

    •shinythemes https://github.com/rstudio/shinythemes - 在 Shiny 中 使用 Bootswatch 主题...

    生信菜鸟团
  • 盘点 Shiny 中的各种主题和 UI 插件

    •shinythemes https://github.com/rstudio/shinythemes - 在 Shiny 中 使用 Bootswatch 主题...

    王诗翔呀
  • shiny资源汇总

    资源背后的机构和开发者,都可以看看,他们的网站,个人Twitter之类的,寻宝哦。

    生信技能树
  • Jupyter Notebook教程 in Python

    主要内容:如何安装,运行和使用IPython进行交互式 matplotlib 绘图,数据分析,还有发布代码。

    用户7886150
  • MySQL日志收集之Filebeat和Logstsh的一键安装配置(ELK架构)

    关于ELK是什么、做什么用,我们不在此讨论。本文重点在如何实现快速方便地安装logstash和filebeat组件,特别是在近千台DB Server的环境下(为...

    东山絮柳仔
  • 数据科学工具 Jupyter Notebook教程 in Python

    本文主要内容为:如何安装,运行和使用 IPython 进行交互式 matplotlib 绘图,数据分析,还有发布代码。

    张耀琦
  • 开始使用Filebeat

    Beats是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch。

    java架构师
  • Tableau官方推荐:12本关于数据可视化的好书

    你想了解更多关于数据可视化的理论知识和历史背景吗?你想受到令人惊叹的可视化示例的启发吗?你希望能够创建更有效的可视化效果吗?或者你是否有兴趣从权威部门获取有关数...

    Python猫
  • grafana&prometheus生产级容器化监控-3:监控mysql

    1.prometheus-storage-mysql-configmap.yaml

    Criss@陈磊
  • 教你一分钟内导出 Grafana 所有的 Dashboard

    目前我们 k8s 集群的 Grafana 使用 ceph 作为持久化存储,一但我将 Grafana 的 Deployment 删除重建之后,之前的所有数据都会丢...

    米开朗基杨
  • 【每日一课】R语言入门教程-1.4R帮助文档

    课程名称:R语言入门教程 第一章:认识R 1.4R帮助文档 【课程目的】 在大数据时代里,数据分析愈发重要,R语言适合做数据分析,R语言已成为许多数据分析...

    小莹莹
  • Metabase 产品调研

    Metabase是一款面向全体公司用户,可以提出问题并从数据中学习的简单,开源的数据查询和可视化分析工具。任何人都可以使用它来构建图表,仪表板和电子邮件。

    用户6021891
  • grafana&prometheus生产级容器化监控-3:监控mysql

    1.prometheus-storage-mysql-configmap.yaml

    千里行走
  • R沟通|设置xaringan主题

    上一期我们讲解了如何使用谢益辉写的xaringan包[1]制作幻灯片,推文在这:R沟通|用xaringan包制作幻灯片。但是最后留了一个小尾巴,如果你不喜欢最原...

    庄闪闪
  • ElasticSearch实战:Linux日志对接Kibana

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。

    BH8ANK
  • 翻译|记住一些常用的R包

    原文:Some R Packages to Keep In Mind(原文见文末链接)

    庄闪闪
  • R沟通|使用 blogdown 创建你的博客(2)

    本文主要是基于:R沟通|使用 Blogdown 构建个人博客写的。所以一定要先把前面这一篇做好,项目创建好,网站部署好后,再做接下来的创建 rmd 文件,保存,...

    庄闪闪

扫码关注云+社区

领取腾讯云代金券