自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 R 語(yǔ)言構(gòu)建一個(gè)可交互的 Web 應(yīng)用

開(kāi)發(fā)
本文介紹如何使用 R 語(yǔ)言中的 Shiny 包開(kāi)發(fā)交互式 Web 應(yīng)用程序,R 語(yǔ)言是一種流行的數(shù)據(jù)科學(xué)編程語(yǔ)言。

數(shù)據(jù)分析已成為企業(yè)的當(dāng)務(wù)之急,并且對(duì)具有用戶(hù)友好界面的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序有巨大的需求。本文介紹如何使用 R 語(yǔ)言中的 Shiny 包開(kāi)發(fā)交互式 Web 應(yīng)用程序,R 語(yǔ)言是一種流行的數(shù)據(jù)科學(xué)編程語(yǔ)言。

如今,世界各地幾乎所有企業(yè)都以某種形式依賴(lài)于數(shù)據(jù)。數(shù)據(jù)科學(xué)通過(guò)使用數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序幫助許多企業(yè)實(shí)現(xiàn)轉(zhuǎn)型,無(wú)論是在金融、銀行、零售、物流、電子商務(wù)、運(yùn)輸、航空還是任何其他領(lǐng)域。

高性能計(jì)算機(jī)和低成本存儲(chǔ)使我們現(xiàn)在能夠在幾分鐘內(nèi)預(yù)測(cè)結(jié)果,而不是像以前一樣以前需要花費(fèi)很多時(shí)間。數(shù)據(jù)科學(xué)家著眼于未來(lái),正在開(kāi)發(fā)具有高性能和多維可視化的便捷應(yīng)用。這一切都始于大數(shù)據(jù),它由三個(gè)組成部分組成:數(shù)量、多樣性和速度。算法和模型都是根據(jù)這些數(shù)據(jù)提供的。機(jī)器學(xué)習(xí)和人工智能領(lǐng)域最前沿的數(shù)據(jù)科學(xué)家正在創(chuàng)建能夠自我改進(jìn)、檢測(cè)錯(cuò)誤并從中學(xué)習(xí)的模型。

在數(shù)據(jù)科學(xué)領(lǐng)域,統(tǒng)計(jì)和計(jì)算用于將數(shù)據(jù)轉(zhuǎn)化為有用的信息,通常稱(chēng)為數(shù)據(jù)驅(qū)動(dòng)科學(xué)。數(shù)據(jù)科學(xué)是來(lái)自各個(gè)領(lǐng)域的方法的綜合,用于收集、分析和解釋數(shù)據(jù),以形成新的見(jiàn)解并做出選擇。構(gòu)成數(shù)據(jù)科學(xué)的技術(shù)學(xué)科包括統(tǒng)計(jì)學(xué)、概率、數(shù)學(xué)、機(jī)器學(xué)習(xí)、商業(yè)智能和一些編程。

數(shù)據(jù)科學(xué)可以應(yīng)用于各個(gè)領(lǐng)域(圖 1)。對(duì)大型、復(fù)雜數(shù)據(jù)集的分析是數(shù)據(jù)科學(xué)的重點(diǎn)。它幫助我們創(chuàng)建了一個(gè)以全新方式看待數(shù)據(jù)的新宇宙。亞馬遜、谷歌和 Facebook 等科技巨頭利用數(shù)據(jù)科學(xué)原理進(jìn)行商業(yè)智能和商業(yè)決策。

Figure 1 Key applications-and use cases of data scienceFigure 1 Key applications-and use cases of data science

R 語(yǔ)言:為數(shù)據(jù)科學(xué)量身打造的語(yǔ)言

由于海量的可用信息,我們迫切需要數(shù)據(jù)分析以得到新的見(jiàn)解,在多種技術(shù)的幫助下,原始數(shù)據(jù)轉(zhuǎn)化為成品數(shù)據(jù)產(chǎn)品。在數(shù)據(jù)研究、處理、轉(zhuǎn)換和可視化方面,沒(méi)有比 R 語(yǔ)言更好的工具了。

R 語(yǔ)言用于數(shù)據(jù)科學(xué)的主要功能包括:

  • 數(shù)據(jù)預(yù)處理
  • 社交媒體數(shù)據(jù)獲取和分析
  • 對(duì)數(shù)據(jù)結(jié)構(gòu)的各種操作
  • 提取、轉(zhuǎn)換、加載(ETL)
  • 連接到各種數(shù)據(jù)庫(kù),包括 SQL 和電子表格
  • 與 NoSQL 數(shù)據(jù)庫(kù)交互
  • 使用模型進(jìn)行訓(xùn)練和預(yù)測(cè)
  • 機(jī)器學(xué)習(xí)模型
  • 聚類(lèi)
  • 傅里葉變換
  • 網(wǎng)頁(yè)抓取

R 語(yǔ)言是一種強(qiáng)大的編程語(yǔ)言,常用于統(tǒng)計(jì)計(jì)算和數(shù)據(jù)分析。有關(guān)優(yōu)化 R 語(yǔ)言用戶(hù)界面的努力由來(lái)已久。從簡(jiǎn)單的文本編輯器到更現(xiàn)代的交互式 R Studio 和 Jupyter Notebooks,世界各地的多個(gè)數(shù)據(jù)科學(xué)小組都在關(guān)注 R 語(yǔ)言的發(fā)展。

只有全世界 R 用戶(hù)的貢獻(xiàn)才使這一切成為可能。R 語(yǔ)言中包含的強(qiáng)大軟件包使其日益強(qiáng)大。許多開(kāi)源軟件包使處理大型數(shù)據(jù)集和可視化數(shù)據(jù)變得更加容易和高效。

使用 Shiny 在 R 語(yǔ)言中開(kāi)發(fā)交互式 Web 應(yīng)用

你可以使用 Shiny 包在 R 語(yǔ)言中構(gòu)建交互式 Web 應(yīng)用程序。應(yīng)用程序可以托管在網(wǎng)站上、嵌入 R Markdown 文檔中,或用于開(kāi)發(fā)控制面板板和可視化。CSS 主題、HTML 小部件和 JavaScript 操作都可以用于進(jìn)一步自定義你的 Shiny 應(yīng)用程序。

Shiny 是一款 R 語(yǔ)言工具,它可以輕松創(chuàng)建交互式的 Web 應(yīng)用程序。它允許你將你的 R 代碼擴(kuò)展到 Web 上,從而使更多的人能夠使用它,從中獲益。

除了 Shiny 內(nèi)置的功能外,還有許多第三方擴(kuò)展包可用,例如 shinythemes、shinydashboard 和 shinyjs。

使用 Shiny 可以開(kāi)發(fā)各種應(yīng)用程序。以下是其中一些:

  • 基于 Web 應(yīng)用的機(jī)器學(xué)習(xí)
  • 具有動(dòng)態(tài)控件的 Web 應(yīng)用程序
  • 數(shù)據(jù)驅(qū)動(dòng)的儀表盤(pán)
  • 多重?cái)?shù)據(jù)集的交互式應(yīng)用
  • 實(shí)時(shí)數(shù)據(jù)可視化面板
  • 數(shù)據(jù)收集表單

Shiny Web 應(yīng)用程序可以分為以下幾類(lèi):

  • 用戶(hù)接口
  • 服務(wù)功能邏輯
  • Shiny 應(yīng)用邏輯

獲取更深理解,請(qǐng)?jiān)L問(wèn)以下網(wǎng)站 https://shiny.rstudio.com/gallery/ 。

其中某個(gè)用 Shiny 開(kāi)發(fā)的應(yīng)用如圖 2(https://shiny.rstudio.com/gallery/radiant.html )。

Figure 2: Shiny based appFigure 2: Shiny based app

銷(xiāo)售儀表盤(pán)的生成

下面是一個(gè)與銷(xiāo)售儀表盤(pán)相關(guān)的 Web 應(yīng)用程序的代碼片段。該儀表板具有多個(gè)控件和用戶(hù)界面模塊,用于查看數(shù)據(jù)。

首先,安裝 Shiny 包,然后在代碼中調(diào)用它,以便將輸出呈現(xiàn)為 Web 頁(yè)面的形式。

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)

運(yùn)行 Shiny 應(yīng)用程序的代碼后,生成了圖 3 所示的輸出,可以在任何 Web 瀏覽器上查看。銷(xiāo)售儀表盤(pán)具有多個(gè)控件,并且具有不同的用戶(hù)界面模塊,非?;?dòng)。

Figure 3: Sales dashboard with multiple controlsFigure 3: Sales dashboard with multiple controls

通過(guò)使用 Shiny Cloud,可以將這個(gè)應(yīng)用程序部署和托管在云上,以便隨時(shí)隨地在互聯(lián)網(wǎng)上使用。

Figure 4: Cloud for hosting and deployment of Shiny appFigure 4: Cloud for hosting and deployment of Shiny app

Shiny Cloud 的免費(fèi)版本允許在 25 個(gè)活動(dòng)小時(shí)內(nèi)部署五個(gè)應(yīng)用程序。研究人員和數(shù)據(jù)科學(xué)家可以使用 R 的 Shiny 庫(kù)開(kāi)發(fā)基于實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng)的用戶(hù)友好應(yīng)用程序。這個(gè)庫(kù)也可以用于在 Web 平臺(tái)上部署他們的機(jī)器學(xué)習(xí)應(yīng)用程序。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2014-10-15 11:01:02

Web應(yīng)用測(cè)試應(yīng)用

2023-09-21 08:00:00

ChatGPT編程工具

2015-12-04 11:36:04

SaaS架構(gòu)設(shè)計(jì)可持續(xù)

2022-04-12 14:00:05

元宇宙人工智能安全

2023-12-26 00:58:53

Web應(yīng)用Go語(yǔ)言

2010-07-12 10:11:27

ibmdwWeb

2021-06-18 06:11:26

工具WebpackSnowpack

2017-05-27 14:47:08

2009-04-28 09:44:31

jQueryAjaxphp

2021-07-14 17:39:46

ReactRails API前端組件

2023-05-10 08:05:41

GoWeb應(yīng)用

2011-09-16 17:18:43

iPhone應(yīng)用TimeSpan

2018-11-14 19:00:24

PythonRedis共享單車(chē)

2019-09-29 15:25:13

CockroachDBGoJavaScript

2024-01-09 18:00:22

Rust后端slvelte

2009-01-03 14:25:10

ibmdwWeb

2024-07-25 08:58:16

GradioPython數(shù)據(jù)應(yīng)用

2022-02-10 07:03:32

流量應(yīng)用架構(gòu)數(shù)據(jù)交換

2024-01-02 00:18:56

Buffalo項(xiàng)目Go Web框架

2014-11-25 14:04:59

DockerDocker Nodeweb應(yīng)用部署
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)