數(shù)據(jù)分析已成為企業(yè)的當(dāng)務(wù)之急,并且對(duì)具有用戶友好界面的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序有巨大的需求。本文介紹如何使用 R 語言中的 Shiny 包開發(fā)交互式 Web 應(yīng)用程序,R 語言是一種流行的數(shù)據(jù)科學(xué)編程語言。
如今,世界各地幾乎所有企業(yè)都以某種形式依賴于數(shù)據(jù)。數(shù)據(jù)科學(xué)通過使用數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序幫助許多企業(yè)實(shí)現(xiàn)轉(zhuǎn)型,無論是在金融、銀行、零售、物流、電子商務(wù)、運(yùn)輸、航空還是任何其他領(lǐng)域。
高性能計(jì)算機(jī)和低成本存儲(chǔ)使我們現(xiàn)在能夠在幾分鐘內(nèi)預(yù)測結(jié)果,而不是像以前一樣以前需要花費(fèi)很多時(shí)間。數(shù)據(jù)科學(xué)家著眼于未來,正在開發(fā)具有高性能和多維可視化的便捷應(yīng)用。這一切都始于大數(shù)據(jù),它由三個(gè)組成部分組成:數(shù)量、多樣性和速度。算法和模型都是根據(jù)這些數(shù)據(jù)提供的。機(jī)器學(xué)習(xí)和人工智能領(lǐng)域最前沿的數(shù)據(jù)科學(xué)家正在創(chuàng)建能夠自我改進(jìn)、檢測錯(cuò)誤并從中學(xué)習(xí)的模型。
在數(shù)據(jù)科學(xué)領(lǐng)域,統(tǒng)計(jì)和計(jì)算用于將數(shù)據(jù)轉(zhuǎn)化為有用的信息,通常稱為數(shù)據(jù)驅(qū)動(dòng)科學(xué)。數(shù)據(jù)科學(xué)是來自各個(gè)領(lǐng)域的方法的綜合,用于收集、分析和解釋數(shù)據(jù),以形成新的見解并做出選擇。構(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 science
由于海量的可用信息,我們迫切需要數(shù)據(jù)分析以得到新的見解,在多種技術(shù)的幫助下,原始數(shù)據(jù)轉(zhuǎn)化為成品數(shù)據(jù)產(chǎn)品。在數(shù)據(jù)研究、處理、轉(zhuǎn)換和可視化方面,沒有比 R 語言更好的工具了。
R 語言用于數(shù)據(jù)科學(xué)的主要功能包括:
R 語言是一種強(qiáng)大的編程語言,常用于統(tǒng)計(jì)計(jì)算和數(shù)據(jù)分析。有關(guān)優(yōu)化 R 語言用戶界面的努力由來已久。從簡單的文本編輯器到更現(xiàn)代的交互式 R Studio 和 Jupyter Notebooks,世界各地的多個(gè)數(shù)據(jù)科學(xué)小組都在關(guān)注 R 語言的發(fā)展。
只有全世界 R 用戶的貢獻(xiàn)才使這一切成為可能。R 語言中包含的強(qiáng)大軟件包使其日益強(qiáng)大。許多開源軟件包使處理大型數(shù)據(jù)集和可視化數(shù)據(jù)變得更加容易和高效。
你可以使用 Shiny 包在 R 語言中構(gòu)建交互式 Web 應(yīng)用程序。應(yīng)用程序可以托管在網(wǎng)站上、嵌入 R Markdown 文檔中,或用于開發(fā)控制面板板和可視化。CSS 主題、HTML 小部件和 JavaScript 操作都可以用于進(jìn)一步自定義你的 Shiny 應(yīng)用程序。
Shiny 是一款 R 語言工具,它可以輕松創(chuàng)建交互式的 Web 應(yīng)用程序。它允許你將你的 R 代碼擴(kuò)展到 Web 上,從而使更多的人能夠使用它,從中獲益。
除了 Shiny 內(nèi)置的功能外,還有許多第三方擴(kuò)展包可用,例如 shinythemes、shinydashboard 和 shinyjs。
使用 Shiny 可以開發(fā)各種應(yīng)用程序。以下是其中一些:
Shiny Web 應(yīng)用程序可以分為以下幾類:
獲取更深理解,請(qǐng)?jiān)L問以下網(wǎng)站 https://shiny.rstudio.com/gallery/ 。
其中某個(gè)用 Shiny 開發(fā)的應(yīng)用如圖 2(https://shiny.rstudio.com/gallery/radiant.html )。
Figure 2: Shiny based app
下面是一個(gè)與銷售儀表盤相關(guān)的 Web 應(yīng)用程序的代碼片段。該儀表板具有多個(gè)控件和用戶界面模塊,用于查看數(shù)據(jù)。
首先,安裝 Shiny 包,然后在代碼中調(diào)用它,以便將輸出呈現(xiàn)為 Web 頁面的形式。
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 瀏覽器上查看。銷售儀表盤具有多個(gè)控件,并且具有不同的用戶界面模塊,非常互動(dòng)。
Figure 3: Sales dashboard with multiple controls
通過使用 Shiny Cloud,可以將這個(gè)應(yīng)用程序部署和托管在云上,以便隨時(shí)隨地在互聯(lián)網(wǎng)上使用。
Figure 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 庫開發(fā)基于實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng)的用戶友好應(yīng)用程序。這個(gè)庫也可以用于在 Web 平臺(tái)上部署他們的機(jī)器學(xué)習(xí)應(yīng)用程序。
本文鏈接:http://www.tebozhan.com/showinfo-26-10455-0.html使用 R 語言構(gòu)建一個(gè)可交互的 Web 應(yīng)用
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com