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