blog

ソフトウェア開発|RでインタラクティブなWebアプリケーションを構築する

この記事では、一般的なデータサイエンス・プログラミング言語である R の Shiny パッケージを使用して、インタラクティブな Web アプリケーションを開発する方法について説明します。...

Oct 18, 2025 · 6 min. read
シェア

データ分析はビジネスにおいて必須となり、ユーザーフレンドリーなインターフェースを持つデータ駆動型アプリケーションに対する需要は非常に高まっています。この記事では、一般的なデータサイエンス・プログラミング言語であるRのShynyパッケージを使って、インタラクティブなWebアプリケーションを開発する方法について説明します。

今日、世界中のほとんどすべての企業が、何らかの形でデータに依存しています。データサイエンスは、金融、銀行、小売、物流、電子商取引、運輸、航空、その他の分野を問わず、データ駆動型アプリケーションの活用を通じて多くの組織の変革に役立っています。

高性能なコンピューターと低価格のストレージにより、これまで時間がかかっていた予測結果が数分で可能になりました。将来を見据え、データサイエンティストは高性能で多次元的な視覚化を備えた便利なアプリケーションを開発しています。すべては、量、多様性、速度の3つの要素からなるビッグデータから始まります。このデータに基づいてアルゴリズムやモデルが提供されます。機械学習と人工知能の最前線にいるデータサイエンティストは、自分自身を改善し、エラーを検出し、そこから学習するモデルを作成しています。

データサイエンスの分野では、統計と計算を使用してデータを有用な情報に変換します。データサイエンスは、データを収集、分析、解釈して新たな洞察を形成し、選択を行うためのさまざまな分野の手法を統合したものです。データサイエンスを構成する技術分野には、統計学、確率論、数学、機械学習、ビジネスインテリジェンス、一部のプログラミングが含まれます。

データサイエンスは様々な分野に応用できます。大規模で複雑なデータセットの分析がデータサイエンスの焦点です。データサイエンスは、まったく新しい方法でデータを見る新しい世界を創造するのに役立っています。アマゾン、グーグル、フェイスブックのような技術大手は、データサイエンスの原則をビジネスインテリジェンスとビジネス意思決定に利用しています。

R: データサイエンスのための言語

利用可能な情報が膨大なため、新たな洞察を得るためのデータ分析が急務となっており、複数のテクノロジーの助けを借りて、生データは完成したデータ製品に変換されます。データの調査、処理、変換、視覚化に関しては、R言語ほど優れたツールはありません。

データサイエンスのためのR言語の主な特徴は以下の通りです:

  • データの前処理
  • ソーシャルメディアデータの取得と分析
  • データ構造に対する様々な操作
  • 抽出、変換、ロード
  • SQLやスプレッドシートを含む様々なデータベースへの接続
  • NoSQLデータベースとの対話
  • 訓練と予測にモデルを使用
  • 機械学習モデル
  • クラスタリング
  • フーリエ変換
  • ウェブクローラー

Rは、統計計算やデータ解析によく使われる強力なプログラミング言語です。R言語のユーザーインターフェースの最適化には、長い歴史があります。シンプルなテキストエディタから、より現代的なインタラクティブR StudioやJupyter Notebooksまで、世界中のいくつかのデータサイエンスグループがR言語の開発に注力してきました。

これは、世界中のRユーザーの貢献によって可能になったことであり、R言語に含まれる強力なパッケージによって、R言語はますます強力になっています。多くのオープンソースパッケージは、大規模なデータセットでの作業やデータの視覚化をより簡単かつ効率的にします。

シャイニーを使ったRによるインタラクティブなWebアプリケーションの開発

アプリケーションは、ウェブサイトにホストしたり、R Markdownドキュメントに埋め込んだり、コントロールパネルやビジュアライゼーションの開発に使用することができます。CSSテーマ、HTMLウィジェット、JavaScriptアクションを使用して、シャイニーアプリケーションをさらにカスタマイズすることができます。

Shynyは、インタラクティブなウェブアプリケーションを簡単に作成できるR言語ツールです。Rのコードをウェブに拡張することで、より多くの人に使ってもらい、その恩恵を受けることができます。

Shinyの組み込み機能に加えて、shinythemes、shinydashboard、shinyjsなどのサードパーティの拡張機能が利用可能です。

シャイニーを使って開発できるアプリケーションは様々です。そのいくつかを紹介しましょう:

  • ウェブベースのアプリケーションのための機械学習
  • 動的コントロールを使用したWebアプリケーション
  • データ駆動型ダッシュボード
  • 複数のデータセットのインタラクティブなアプリケーション
  • リアルタイムデータ可視化パネル
  • データ収集フォーム

シャイニーウェブアプリケーションは以下のカテゴリーに分けられます:

  • ユーザーインターフェース
  • サービス機能ロジック
  • シャイニー・アプリケーション・ロジック

より深くご理解いただくために、以下のウェブサイトをご覧ください ry/

シャイニーで開発されたアプリケーションの1つを図2に示します。

セールス・ダッシュボードの作成

以下は、販売ダッシュボードに関連するウェブアプリケーションのコードスニペットです。ダッシュボードには、データを表示するためのいくつかのコントロールとユーザインタフェースモジュールがあります。

まず、Shynyパッケージをインストールし、あなたのコードでそれを呼び出し、出力をウェブページとしてレンダリングします。

  1. library(shiny)
  2. library(dplyr)
  3. sales <- vroom::vroom("salesdata.csv”, na = ”)
  4. ui <- fluidPage(
  5. titlePanel(「販売データのダッシュボード”),
  6. sidebarLayout(
  7. sidebarPanel(
  8. selectInput(「テリトリー”, 「テリトリー”, choices = unique(sales$territories)),
  9. selectInput(顧客”, 顧客”, choices = NULL),
  10. selectInput(「オーダー”, 「注文番号”, choices = NULL, size = 5, selectize = FALSE),
  11. mainPanel(
  12. uiOutput(顧客”),
  13. tableOutput(「データ”)
  14. server <- function(input, output, session) {
  15. territories <- reactive({
  16. req(input$territories)
  17. filter(sales, territories == input$territories)
  18. customer <- reactive({
  19. req(input$Customers)
  20. filter(territories(), Customers == input$Customers);
  21. output$customer <- renderUI({
  22. row <- customer()[1, ]
  23. tags$div(
  24. class = さて”,
  25. tags$p(tags$strong(名前: , row$customers),
  26. tags$p(tags$strong("電話: , row$contact),
  27. tags$p(tags$strong(「コンタクト: , row$fname, , row$lname)
  28. order <- reactive({
  29. req(input$order)
  30. customer() %>%
  31. filter(ORDER == input$order) %>%
  32. arrange(OLNUMBER) %>%
  33. select(pline, qty, price, sales, status)
  34. output$data <- renderTable(order())
  35. observeEvent(territories(), {
  36. updateSelectInput(session, 顧客”, choices = unique(territories()$Customers), selected = character())
  37. observeEvent(customer(), {
  38. updateSelectInput(session, 「オーダー”, choices = unique(customer()$order))
  39. shinyApp(ui, server)

シャイニーアプリケーションのコードを実行すると、図3に示すような出力が生成され、どのウェブブラウザでも見ることができます。セールスダッシュボードには複数のコントロールがあり、様々なユーザーインターフェースモジュールと非常にインタラクティブです。

シャイニークラウドを利用することで、このアプリケーションをクラウド上にデプロイし、ホスティングすることができます。

Shiny Cloudの無料版では、25アクティビティ時間で5つのアプリケーションをデプロイできます。研究者やデータ科学者は、RのShynyライブラリを使用して、リアルタイムデータによって駆動されるユーザーフレンドリーなアプリケーションを開発することができます。このライブラリは、機械学習アプリケーションをウェブプラットフォーム上に展開するためにも使用できます。

を経由して

Read next

Hardcore Watch|Hardcore Watch #1062 AlmaLinuxはもはやRHELとの1:1互換性を追求しない

🅷 AlmaLinuxはもはやRHELとの1:1の互換性を追求していません。\n🄸 ハリウッドは、主要俳優のAIレプリカを永久に無料で手に入れたいと考えています。\n2027年、EUで販売されるスマートフォンのバッテリーは交換可能に\n"\n"

Oct 18, 2025 · 3 min read