R Shiny 教程:如何在 R 中制作交互式 Web 应用程序

已发表: 2020-03-16

目录

介绍

在这个现代科技时代,我们所有人都可以使用各种应用程序——从跟踪我们的健康水平、睡眠到为我们提供有关股市的最新信息。 Robinhood、Google Fit 和 Workit 等应用程序似乎非常有用,因为它们使用实时数据和统计数据。 由于 R 是统计计算和编程领域的领跑者,因此开发人员需要一个系统来利用其强大的功能来构建应用程序。 了解有关 R 编程的更多信息。

这就是 R Shiny 拯救世界的地方。 在这个R Shiny 教程中,您将了解基础知识。

什么是 R 闪亮?

Shiny 是一个 R 包,用于在 R 中构建交互式 Web 应用程序 使用它,您可以使用原生 HTML 和 CSS 代码以及 R Shiny 代码创建 Web 应用程序。 您可以在网站上构建独立的 Web 应用程序,使数据可视化变得容易。 这些通过 R Shiny 制作的应用程序可以无缝显示 R 对象,例如表格和绘图。

让我们看一下 R Shiny 的一些特性:

  • 使用更少的代码行构建 Web 应用程序,无需 JavaScript。
  • 这些应用程序是实时的,用户可以像电子表格一样访问。 如果用户改变输入,输出可能会实时改变。
  • 对 Web 工具知之甚少的开发人员也可以使用 R Shiny 构建应用程序。
  • 您可以获得内置小部件来显示表格、R 对象的输出和绘图。
  • 您可以使用此包将实时可视化和报告添加到 Web 应用程序。
  • 用户界面可以用 R 编码,也可以使用 HTML、CSS 或 JavaScript 编写。
  • 默认用户界面是使用 Bootstrap 构建的。
  • 它带有一个WebSocket 包,可以在 Web 服务器和 R 之间实现快速通信。

阅读:R 中的决策树

R Shiny 应用程序的组件

一个闪亮的应用程序有两个主要组件——一个用户界面对象和一个服务器功能。 这些是传递给shinyApp 方法的参数 此方法使用参数创建应用程序对象。

从世界顶尖大学学习数据科学获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

另请阅读:R中的KNN算法

让我们详细了解R Shiny 应用程序的基本部分

用户界面功能

此函数定义 Web 应用程序的外观。 它通过从用户获取输入并将其显示在屏幕上来使应用程序具有交互性。 HTML 和 CSS 标签可用于使应用程序看起来更好。 因此,在构建 ui.R 文件时,您会创建一个带有 R 函数的 HTML 文件。

如果您在 R 控制台中键入fluidPage() ,您将看到该方法返回一个标记 <div class=”container-fluid”></div>。

不同的输入函数是:

  • selectInput () - 此方法用于创建一个下拉 HTML,它有各种可供选择的选项。
  • numericInput () - 此方法创建一个输入区域,用于编写文本或数字。
  • radioButtons () – 这为用户提供了单选按钮来选择输入。

布局方法

Bootstrap 中可用的各种布局功能由 R Shiny 实现。 组件是:

面板

这些方法将元素组合到一个面板中。 这些包括:

  • 绝对面板()
  • 输入面板()
  • 条件面板()
  • 标题面板()
  • 固定面板()

布局功能

这些为特定布局组织面板。 这些包括:

  • 流体行()
  • 垂直布局()
  • 流布局()
  • 拆分布局()
  • 侧边栏布局()

输出方法

这些方法用于显示 R 输出组件图像、表格和绘图。 他们是:

  • tableOutput() - 此方法用于显示 R 表
  • plotOutput() - 此方法用于显示 R 绘图对象

服务器功能

在您创建了应用程序的外观和从用户那里获取输入值的方法之后,就该设置服务器了。 服务器函数可帮助您为 Shiny 应用程序编写服务器端代码。 您可以创建将用户输入映射到相应输出的函数。 加载应用程序时,Web 浏览器会调用此函数。

它接受输入和输出参数,并忽略返回值。 此方法还采用可选的会话参数。

R Shiny 教程:如何开始使用 R Shiny?

开始使用 R Shiny 包的步骤如下:

  • 转到 R 控制台并输入命令 - install.packages(“shiny”)
  • 该软件包附带 11 个内置应用程序示例,供您了解 Shiny 的工作原理

您可以从Hello Shiny 示例开始了解基本结构。 键入此代码以运行 Hello Shiny:

图书馆(闪亮)

运行示例(“01_hello”)

创建一个新的 Shiny 应用程序的步骤是:

  • 打开RStudio并转到文件选项
  • 在目录中选择 New Project 并单击“Shiny Web”应用程序
  • 您将获得一个直方图和一个滑块来测试输出相对于输入的变化
  • 您将获得两个脚本 ui.R 和 server.R 用于编码和自定义应用程序

Shiny 应用程序开发技巧

  • 在将应用程序发送到生产环境之前,在浏览器中测试应用程序以查看它的外观
  • 在调试应用程序时运行整个脚本
  • 注意逗号等常见错误

结论

如果您想了解数据科学,请查看我们的数据科学执行 PG 计划,该计划专为在职专业人士创建,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家指导、一对一辅导拥有行业导师,400 多个小时的学习和顶级公司的工作协助。

Shiny 最好的部分是您无需了解 HTML、CSS 或 JavaScript 即可使用它。 此外,您可以构建应用程序并将其部署在 shinyapps.io 的免费版本上。 开始使用时,请随身携带此R Shiny 教程

R Shiny 有什么好处?

每个数据科学家都需要借助某些工具将数据中的见解呈现在公众面前。 Shiny 是 R 中的一个包,用于开发交互式 Web 应用程序。 您有很多选项可以通过文本、表格、可视化或交互式图表来传达您的结果。 如果您了解 R 编程,您可以轻松开发应用程序,因为 Shiny 非常易于使用。 内置功能可轻松与朋友和同事分享您的工作。 Shiny 应用程序的设计非常惊人。 即使您正在查看默认显示,您也会发现它非常直观和优雅。

发现 Shiny 与传统应用程序有何不同?

让我们借助一个天气应用程序示例更好地理解这一点。 每当用户重新加载页面甚至更改页面上的小输入时,应用程序都必须借助 JS 更新整个页面。 这将为服务器端增加大量负载以处理更新。

另一方面,Shiny 将隔离或重新加载减少服务器负载的应用程序元素。 该结构将在理解和调试代码方面发挥非常重要的作用。 发现与传统应用程序相比,使用 Shiny 应用程序滚动浏览 Web 应用程序有点困难。

R Shiny难学吗?

Shiny 框架是 R 中可用的一个包,可用于构建交互式 Web 应用程序。 该软件包非常棒,因为它允许您基于可用的数据集创建高效的可视化和报告。 除了使用 Shiny 元素之外,您还可以使用 HTML 元素来自定义应用程序内容。

尽管 Shiny 是一个非常强大的工具,但如果您了解 R 编程,您会发现它很容易学习。如果您正在考虑在您的作品集中添加一些创意,强烈建议您学习 R Shiny。