当前位置:首页 > 科技  > 软件

使用 R 语言构建一个可交互的 Web 应用

来源: 责编: 时间:2023-09-18 21:41:25 435观看
导读数据分析已成为企业的当务之急,并且对具有用户友好界面的数据驱动应用程序有巨大的需求。本文介绍如何使用 R 语言中的 Shiny 包开发交互式 Web 应用程序,R 语言是一种流行的数据科学编程语言。如今,世界各地几乎所有企

3xS28资讯网——每日最新资讯28at.com

数据分析已成为企业的当务之急,并且对具有用户友好界面的数据驱动应用程序有巨大的需求。本文介绍如何使用 R 语言中的 Shiny 包开发交互式 Web 应用程序,R 语言是一种流行的数据科学编程语言。3xS28资讯网——每日最新资讯28at.com

如今,世界各地几乎所有企业都以某种形式依赖于数据。数据科学通过使用数据驱动的应用程序帮助许多企业实现转型,无论是在金融、银行、零售、物流、电子商务、运输、航空还是任何其他领域。3xS28资讯网——每日最新资讯28at.com

高性能计算机和低成本存储使我们现在能够在几分钟内预测结果,而不是像以前一样以前需要花费很多时间。数据科学家着眼于未来,正在开发具有高性能和多维可视化的便捷应用。这一切都始于大数据,它由三个组成部分组成:数量、多样性和速度。算法和模型都是根据这些数据提供的。机器学习和人工智能领域最前沿的数据科学家正在创建能够自我改进、检测错误并从中学习的模型。3xS28资讯网——每日最新资讯28at.com

在数据科学领域,统计和计算用于将数据转化为有用的信息,通常称为数据驱动科学。数据科学是来自各个领域的方法的综合,用于收集、分析和解释数据,以形成新的见解并做出选择。构成数据科学的技术学科包括统计学、概率、数学、机器学习、商业智能和一些编程。3xS28资讯网——每日最新资讯28at.com

数据科学可以应用于各个领域(图 1)。对大型、复杂数据集的分析是数据科学的重点。它帮助我们创建了一个以全新方式看待数据的新宇宙。亚马逊、谷歌和 Facebook 等科技巨头利用数据科学原理进行商业智能和商业决策。3xS28资讯网——每日最新资讯28at.com

Figure 1 Key applications-and use cases of data scienceFigure 1 Key applications-and use cases of data science3xS28资讯网——每日最新资讯28at.com

R 语言:为数据科学量身打造的语言

由于海量的可用信息,我们迫切需要数据分析以得到新的见解,在多种技术的帮助下,原始数据转化为成品数据产品。在数据研究、处理、转换和可视化方面,没有比 R 语言更好的工具了。3xS28资讯网——每日最新资讯28at.com

R 语言用于数据科学的主要功能包括:3xS28资讯网——每日最新资讯28at.com

  • 数据预处理
  • 社交媒体数据获取和分析
  • 对数据结构的各种操作
  • 提取、转换、加载(ETL)
  • 连接到各种数据库,包括 SQL 和电子表格
  • 与 NoSQL 数据库交互
  • 使用模型进行训练和预测
  • 机器学习模型
  • 聚类
  • 傅里叶变换
  • 网页抓取

R 语言是一种强大的编程语言,常用于统计计算和数据分析。有关优化 R 语言用户界面的努力由来已久。从简单的文本编辑器到更现代的交互式 R Studio 和 Jupyter Notebooks,世界各地的多个数据科学小组都在关注 R 语言的发展。3xS28资讯网——每日最新资讯28at.com

只有全世界 R 用户的贡献才使这一切成为可能。R 语言中包含的强大软件包使其日益强大。许多开源软件包使处理大型数据集和可视化数据变得更加容易和高效。3xS28资讯网——每日最新资讯28at.com

使用 Shiny 在 R 语言中开发交互式 Web 应用

你可以使用 Shiny 包在 R 语言中构建交互式 Web 应用程序。应用程序可以托管在网站上、嵌入 R Markdown 文档中,或用于开发控制面板板和可视化。CSS 主题、HTML 小部件和 JavaScript 操作都可以用于进一步自定义你的 Shiny 应用程序。3xS28资讯网——每日最新资讯28at.com

Shiny 是一款 R 语言工具,它可以轻松创建交互式的 Web 应用程序。它允许你将你的 R 代码扩展到 Web 上,从而使更多的人能够使用它,从中获益。3xS28资讯网——每日最新资讯28at.com

除了 Shiny 内置的功能外,还有许多第三方扩展包可用,例如 shinythemes、shinydashboard 和 shinyjs。3xS28资讯网——每日最新资讯28at.com

使用 Shiny 可以开发各种应用程序。以下是其中一些:3xS28资讯网——每日最新资讯28at.com

  • 基于 Web 应用的机器学习
  • 具有动态控件的 Web 应用程序
  • 数据驱动的仪表盘
  • 多重数据集的交互式应用
  • 实时数据可视化面板
  • 数据收集表单

Shiny Web 应用程序可以分为以下几类:3xS28资讯网——每日最新资讯28at.com

  • 用户接口
  • 服务功能逻辑
  • Shiny 应用逻辑

获取更深理解,请访问以下网站 https://shiny.rstudio.com/gallery/ 。3xS28资讯网——每日最新资讯28at.com

其中某个用 Shiny 开发的应用如图 2(https://shiny.rstudio.com/gallery/radiant.html )。3xS28资讯网——每日最新资讯28at.com

Figure 2: Shiny based appFigure 2: Shiny based app3xS28资讯网——每日最新资讯28at.com

销售仪表盘的生成

下面是一个与销售仪表盘相关的 Web 应用程序的代码片段。该仪表板具有多个控件和用户界面模块,用于查看数据。3xS28资讯网——每日最新资讯28at.com

首先,安装 Shiny 包,然后在代码中调用它,以便将输出呈现为 Web 页面的形式。3xS28资讯网——每日最新资讯28at.com

library(shiny)library(dplyr)sales <- vroom::vroom(“salesdata.csv”, na = “”)ui <- fluidPage(    titlePanel(“Dashboard for Sales Data”),    sidebarLayout(        sidebarPanel(            selectInput(“territories”, “territories”, choices = unique(sales$territories)),            selectInput(“Customers”, “Customer”, choices = NULL),            selectInput(“orders”, “Order number”, choices = NULL, size = 5, selectize = FALSE),        ),        mainPanel(            uiOutput(“customer”),            tableOutput(“data”)        )    ))server <- function(input, output, session) {    territories <- reactive({        req(input$territories)        filter(sales, territories == input$territories)    })    customer <- reactive({        req(input$Customers)        filter(territories(), Customers == input$Customers)    })    output$customer <- renderUI({        row <- customer()[1, ]        tags$div(            class = “well”,            tags$p(tags$strong(“Name: “), row$customers),            tags$p(tags$strong(“Phone: “), row$contact),            tags$p(tags$strong(“Contact: “), row$fname, “ “, row$lname)        )    })    order <- reactive({        req(input$order)        customer() %>%        filter(ORDER == input$order) %>%        arrange(OLNUMBER) %>%        select(pline, qty, price, sales, status)    })    output$data <- renderTable(order())    observeEvent(territories(), {        updateSelectInput(session, “Customers”, choices = unique(territories()$Customers), selected = character())    })    observeEvent(customer(), {        updateSelectInput(session, “order”, choices = unique(customer()$order))    })}shinyApp(ui, server)

运行 Shiny 应用程序的代码后,生成了图 3 所示的输出,可以在任何 Web 浏览器上查看。销售仪表盘具有多个控件,并且具有不同的用户界面模块,非常互动。3xS28资讯网——每日最新资讯28at.com

Figure 3: Sales dashboard with multiple controlsFigure 3: Sales dashboard with multiple controls3xS28资讯网——每日最新资讯28at.com

通过使用 Shiny Cloud,可以将这个应用程序部署和托管在云上,以便随时随地在互联网上使用。3xS28资讯网——每日最新资讯28at.com

Figure 4: Cloud for hosting and deployment of Shiny appFigure 4: Cloud for hosting and deployment of Shiny app3xS28资讯网——每日最新资讯28at.com

Shiny Cloud 的免费版本允许在 25 个活动小时内部署五个应用程序。研究人员和数据科学家可以使用 R 的 Shiny 库开发基于实时数据驱动的用户友好应用程序。这个库也可以用于在 Web 平台上部署他们的机器学习应用程序。3xS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-10455-0.html使用 R 语言构建一个可交互的 Web 应用

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java项目:模块之间接口定义不一致导致调用异常

下一篇: 携程火车票出海架构演进之路

标签:
  • 热门焦点
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了&mdash;&mdash;贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • 消费结构调整丨巨头低价博弈,拼多多还卷得动吗?

    来源:征探财经作者:陈香羽随着流量红利的退潮,电商的存量博弈越来越明显。曾经主攻中高端与品质的淘宝天猫、京东重拾&ldquo;低价&rdquo;口号。而过去与他们错位竞争的拼多多,靠
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的&ldquo;7天甘肃行&rdquo;直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,&ldquo;7
  • 华为Mate 60系列用上可变灵动岛:正式版体验将会更出色

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
Top