R言語とは?Rの利点/弱点、Pythonとの違い、特徴を一気に解説

今、あなたは統計分野のプログラミング言語の違いを知りたくて本記事に到達されたかもしれません。そこで、R言語はどのような強みがあるかを知り、他の言語との違いも知りたいと思っていらっしゃるでしょう。

本記事では、統計やデータ分析の領域で活用されるR(R言語、アール)の魅力や特性、その強みや弱点、Pythonと比較した際にどちらが自分にあっているのかを判断できる問いなど、「R言語」を様々な角度から解説します。


1.R言語(R)とは?

R言語はニュージーランドのオークランド大学でRoss Ihaka氏、 Robert Gentleman氏が1991年に開発した無料のソフトウェアです。

参考:Wikipedia『R言語』

1-1.統計領域に特化したプログラミング言語である

R言語はデータ分析の中でも特に統計領域に特化したプログラミング言語です。近年のビッグデータ解析やデータ活用・分析の潮流で改めて注目されている言語です。また、グラフなどデータの可視化にも強い言語です。

1-2.オープンソースであり、誰でも無償で使える

R言語はオープンソースで誰もが無償で使用可能なソフトウェアです。これは、Python、C++、Java、Rubyなどと同様です。

私が大学生の頃、授業ではSPSSを使っていました。他の大学ではEviews、Matlabなどを使っているケースもあり研究室によって使うツールは様々です。しかし、SPSSやEviews、Matlabなどを個人用に使おうとなると数十万円〜で少しお値段が張り躊躇するというのが正直なところでしょう。もちろんそれらの有償ツールは機能豊富で柔軟なのですが、「無償で使える分析ソフトウェア」を探すきっかけにRをスタートした、という人も実際多いです。

1-3.大学だけではなく多くの企業の実務で利用されている

R言語は大学などアカデミック分野で活用のイメージをされることが多いですが、多くの企業で実務的に利用されています。データ活用・データ分析が基盤となっている以下のような多くの企業でも利用されています。

  • Uber
  • Google
  • Airbnb
  • Facebook

参考:『Companies,Officials and NGO using R』

1-4.オープンソースでありユーザーコミュニティによって支えられている

Rは拡張性の高いオープンソースです。ユーザーコミュニティで支えられており、R Development Core Team/CRAN(the Comprehensive R Archive Network)がユーザーコミュニティの中心になっています。


2.Rができること

R言語はデータ分析において非常にパワフルな言語でありツールです。Rで出来るデータ分析の例を幾つか挙げるだけでも例えば以下のようなものがあります。

データ分析的側面で言えば、以下のような領域で活躍します。

Rが出来ること

  • 機械学習アルゴリズム
  • 回帰分析
  • 時系列分析
  • 統計的推論
  • データ可視化

    ▼Rを使ったデータ可視化の例

    引用:『Animated bubble chart with R and gganimate』

    Rが出来る統計やデータ可視化はひとつのデータ分析の側面ですが、R言語はどのようなビジネス領域・場面でも活躍してくれます。以下はR言語が出来るほんの一部ですが、例えば以下があるでしょう。

    Rが寄与できる実務場面例

    • 商品在庫を過去データに基づき予測する
    • 金融のリスク算出を行う(アクチュアリーなど)
    • 広告の効果検証
    • デジタルマーケティングの施策決定

      3.Rを使っている業界/領域

      Rが活用されている業界や領域をリサーチすると、大学、研究・教育機関がまず先に来ています。

      引用:『The impressive Growth of R』

       

      R言語は統計解析を行うため、ヘルスケア業界や政府、コンサルティング業界で多く活用されているのも納得できますね。統計解析やそもそもデータの重要性が高い業界で多く使われています。


      4.Rの強み/利点

      幅広い分野で活用されているR言語ですが、その活用する上では利点や弱点を知っておくことが重要です。

      4-1.オープンソースであり、誰もが使えるツール

      R言語はオープンソースのプログラミング言語です。これはライセンスを購入したりする必要がなく誰もが使えるものであるということです。さらに、Rのパッケージのカスタマイズや新たなR言語の開発自体にも貢献できます。

      4-2.データクレンジングにおける有用な基盤

      R言語はデータクレンジングをスムーズにする基盤を提供しています。例えば、dplyrやreadrのようなパッケージはデータの欠落や形式が揃っていないデータを綺麗に加工してくれるのに有用です。

      4-3.豊富な統計分野のパッケージ

          R言語は豊富なパッケージを揃えています。R言語は統計分野に強い言語ですので、そのパッケージ群も豊富です。

          前述のCRANには10,000ほどのパッケージがあり、その数は日々増えています。これらのパッケージにより様々な業界でR言語が活用できています。

          Rは分類、回帰といった機械学習の実装機能や、ニューラルネットワーク開発といった特徴を持ち合わせており、機械学習のライブラリも豊富です。

          4-4.容易に可視化/グラフ化が可能

          Rはグラフ(チャート)を使った可視化も得意とします。人気のライブラリは以下があるでしょう。

          • ggplot2
          • plotly

            これらを使うことで他の言語では表現出来ないインパクトのある可視化を実現できます。

            以下の記事も可視化、データビジュアライゼーションのご参考にしていただけるはずです。

            データビジュアライゼーションとは何か?事例・定義・重要性をわかりやすく解説

            4-5.他の言語やツールとの高い互換性

              RはC言語やC++、Java、Pythonなど多くのプログラミング言語や他ツールと連携しやすく非常に互換性の高いものです。他の言語だけではなくHadoopや多くのデータベース、システム、BIツールなどとも連携可能です。

              当社でも活用しているExploratoryも、Rを基盤としたツールです。

              Exploratoryとは?|データ活用にレバレッジをかける革新的なツール

              4-6.どのOS(プラットフォーム)でも簡単にセットアップが出来る

              R言語はプラットフォームに依存しない言語です。Windows、Linux、Macなどどのようなプラットフォームでも簡単にセットアップ、動かすことが出来ます。

              4-7.表現力のあるレポート

              ShinyR Markdownなどのパッケージを使うことで、分析結果のレポーティングが非常に楽になります。

              インタラクティブなWEBアプリを作成することも可能です。

                4-8. 統計領域の共通言語

                R言語は統計の共通言語でもあります。これは他の統計ツールを開発する過程でも、R言語が大きな支配力をもっている証左でもあるでしょう。

                4-9.継続的な進化

                R言語は常にその機能や仕様の面で進化しています。他の新たなテクノロジー同様、機能が追加されどんどん便利になっています。

                4-10.Rはその習得コストと使い勝手のバランスが良い

                データ分析には多くのツールがありますが、どのようなツールであれ新たな言語やツールを習得するには時間を投資していく必要があります。

                下図はそのツールにかかる習得コストとビジネスへの有用性の関係図です。

                DS4B Tool Ratings

                引用:『6 Reasons To Learn R For Business』

                縦軸は習得コストのしやすさ(1=難しい/10=簡単)横軸はそのツールのビジネスへの適合度(高度な分析の拡張性、インタラクティビティ、共有機能、WEB連携など。(1=低い/10=高い))を表しています。

                右下がり(ネガティブ)になっているのは、「うまい話はない」という意味でもあります。より良いインサイトを得たいのであれば、適切なツールを習得/習熟する時間をかける必要がある、ということでもあります。

                また、上記にあるようなデータ分析/可視化ツールに関しては以下の記事にも詳細をご紹介・解説しています。

                2020年|実際に使って良かったデータ可視化ツール9選

                私が実業務で使用した人気BIツール7種を機能面で比較してみた結果

                【Tableauの使い方】Excelだけで十分では?なぜTableauが必要なの?


                5.Rの弱点

                5-1.多様なパッケージが存在しており、活用には一定の知識が必要

                Rのアルゴリズムは多種多様あり、散在しています。ですので、事前にパッケージの知識がないとアルゴリズムを実装するのは難しくなりがちです。“そもそもそのパッケージがあると知っていること、そしてその使い方も知っている状態”でないとデータ分析を進めるのは困難です。

                また、Rはパッケージが豊富で、パッケージのマニュアルも充実していて素晴らしいのですがマニュアルが英語なので、英語が苦手な方の場合さらに少しハードルが高くなるかもしれません。

                5-2.学習にあたってはデータ分析ツールの中では比較難易度の高い言語

                R言語を学習し習得するのは、ExcelやBIツールなども含めた「データ分析ツール全体」で考えると、簡単とは言えません。何らかのプログラミング言語の経験がない場合はRを習得する道は大変な負荷になることも多いです。

                5-3.他言語と比較した際の処理速度の遅さ

                RパッケージやR言語は MatlabやPythonと比較すると処理速度は劣ります。Cはとても速く、Pythonの16倍、そしてRと比較すると270倍の速度です。

                CやPythonと比較した際にどの程度になるか、こちらの記事が参考になるでしょう。

                また、Rの特徴として、シングルコアで稼働することが挙げられます。マルチコアで稼働させる場合は知識が必要です。


                6. R vs Python

                データサイエンティストと呼ばれる人たちはRやPythonの両方もしくはどちらかをメインに使っていることが多いです。ここではその性質の違いに触れ、どちらを最初に学ぶべきかを決めるにあたる判断材料を提供します。

                6-1.RとPythonのざっくりとした違い

                 RPython
                主な目的データ分析、統計データ分析、ソフトウェア開発
                主なユーザー学術的研究・R&D分野の研究者、データ分析者プログラマ、開発者、エンジニア、データ分析者、AIエンジニア
                最近の人気1.9%(前年比+1.1%)11.7%(前年比+1.1%)
                強み

                可視化
                Rmarkdown
                Shiny

                Jupyter notebookでの共有
                数学的な計算
                可読性の高さ
                処理速度
                弱点ライブラリ間の依存関係Rほど統計ライブラリは存在しない

                6-2.RとPythonの人気の推移

                以下のTIOBE indexのデータは興味深く、言語間の人気度の移り変わりは参考にできるものです。Pythonはもともとソフトウェア開発で使われていたものの昨今のデータ分析の文脈で人気が高くなったことがあるでしょう。

                Pythonに関しては、以下の記事に、学習のスタートの仕方をステップでご紹介しています。

                データ分析のためのPythonを学び始める時につまずかないための6つのステップ

                6-3.「RとPython、結局どちらがいいのか?」を判断する際の有用な問い

                昨今のデータ活用の潮流もあり、「RとPythonどちらを(どちらから)学べば良いのか?」というご質問もよくいただきます。ここでは、個別的な条件を想定し、RかPythonを選択する一つの基礎材料となるものを提供できればと思っています。

                何らかのプログラミング言語の経験があるか?
                もし何かのプログラミングの経験がある人はPythonが良いでしょう。
                プログラミング経験のある人の場合、Pythonからスタートするのが学習のストレスもそこまで感じずスムーズで良いかもしれません。しかしエンジニアではない方が統計をスタートするならRからスタートするのがおすすめです。
                学術研究分野/ビジネス領域どちらに進みたいか?
                学術研究分野に今後進みたい場合はR、ビジネス領域に進みたい場合はPythonが良いかもしれません。

                Rは大学など学術研究分野で多く使われていますが、昨今はそこまで明確な住み分けはされておらず、Rをビジネス領域に、Pythonを学術分野で多く使う人も多いです。なので、このポイントはご参考程度で良いかもしれません。

                機械学習/統計的学習、どちらを学びたいか?
                機械学習の場合はPython、統計的学習の場合はRが良いでしょう。
                機械学習はAI領域の一部の分野である一方、統計的学習は統計の一部の分野です。機械学習は大規模なアプリケーション開発や予測の精度に重きが置かれますが、統計的学習は統計的な妥当性や確率としてどうかなどの解釈に力点が置かれる傾向があります。
                ソフトウェア開発を行いたいか?
                もしYESであれば、Pythonが良いでしょう。
                開発の現場で大規模に使う想定ならばPythonが良いでしょう。しかしながら、より効率的なコードを書くためにはC++やJavaを使う必要もあります。
                データを美しく可視化したいか?
                もしYESであれば、Rでしょう。
                データを使って素早く具体的なプロトタイプを作りモデルを構築することを考えるとRが一歩先を行くというのが個人的な感想です。PythonはMatplotlibに一日の長がありますが、Rはggplot2、htmlwidgets、Leafletなどより柔軟に可視化を行うことが可能です。

                7. Rを学び始める時のおすすめソース

                ここではRの学習をこれから始める方のために、3つのポイントをお伝えします。

                7-1.オンラインコース

                予算の範囲で下記のようなウェブでの講座コースを取るのも選択肢の一つです。下記のようなオンラインコースは多くの大学でも採用されています。

                7-2.おすすめ本

                Rによるやさしい統計学

                非常に読みやすく、基礎からスタートできる書籍です。

                Rによる統計的学習入門

                こちらは入門書ではありますが、初学者には実際難しいです。推測統計学を一通り終わった人であれば読み進められると思います。

                また、英語版であれば無料で配布されていますのでこちらも合わせておすすめです。

                8-3.その他データ分析に関するおすすめ本

                こちらの記事にもデータ分析や可視化全般のおすすめを厳選して掲載しています。

                データ分析の学習を加速させるおすすめ本32選


                8.まとめ

                R言語はどのような場面でも使えるという意味で拡張性が高く守備範囲も広いツールです。

                R言語を始めれば、データ分析や可視化の面白い世界へ足を踏み入れることが出来るはずです。何らかのプログラミング経験がなければ最初は大変かもしれませんが、どのようなことでも一朝一夕で身につかないのは同じです。

                R言語をスタートさせたら、次はこちらの記事を参考に分析・可視化を試してみてください。

                データ視覚化/ダッシュボードデザインを成功させるための95のチェックリスト

                一緒に頑張りましょう!

                Contributor:
                この記事は当社インターン聖路加国際大学公衆衛生大学院Ph.D Phuong T. Nguyen(MD,MPH,DrPH candidate)と作成しました。

                 

                無料EBook:DXの羅針盤−よくある19の質問に回答-

                デジタル戦略を考えようとしても、「自社のデータ活用に悩んでいる」「何からやればいいのかわからない」「新しく新設したデジタル戦略室に配属された」などお悩みの方は多いでしょう。
                そこでこの冊子では、DXやデジタル領域でよくある19の質問にデータビズラボ代表永田が詳しく丁寧に回答しています。

                データ活用・デジタルトランスフォーメーション(DX)の大方針ともなる羅針盤としてご活用していただけるものと信じています。

                お問い合わせ

                サービスに関するご質問や講演依頼など、お気軽にお問い合わせください。2営業日以内にお返事いたします。

                データをビジネスに活かす
                デジタル化/DX/データ活用の成功事例