最終更新日:2024.1.31FacebookTwitterはてブ今、あなたは統計分野のプログラミング言語の違いを知りたくて本記事に到達されたかもしれません。そこで、R言語はどのような強みがあるかを知り、他の言語との違いも知りたいと思っていらっしゃるでしょう。本記事では、統計やデータ分析の領域で活用されるR(R言語、アール)の魅力や特性、その強みや弱点、Pythonと比較した際にどちらが自分にあっているのかを判断できる問いなど、「R言語」を様々な角度から解説します。データ分析そのものについては以下の記事をご参照くだ。Gentleman氏が1991年に開発した無料のソフトウェアです。参考:Wikipedia『R言語』1-1.統計領域に特化したプログラミング言語であるR言語はデータ分析の中でも特に統計領域に特化したプログラミング言語です。近年のビッグデータ解析やデータ活用・分析の潮流で改めて注目されている言語です。グラフなどデータの可視化にも強い言語です。1-2.オープンソースであり、誰でも無償で使えるR言語はオープンソースで誰もが無償で使用可能なソフトウェアです。これは、Python、C++、Java、Rubyなどと同様です。私が大学生の頃、授業ではSPSSを使っていました。他の大学ではEviews、Matlabなどを使っているケースもあり研究室によって使うツールは様々です。SPSSやEviews、Matlabなどを個人用に使おうとなると数十万円〜で少しお値段が張り躊躇するというのが正直なところでしょう。それらの有償ツールは機能豊富で柔軟なのですが、「無償で使える分析ソフトウェア」を探すきっかけにRをスタートした、という人も実際多いです。1-3.大学だけではなく多くの企業の実務で利用されているR言語は大学などアカデミック分野で活用のイメージをされることが多いですが、多くの企業で実務的に利用されています。データ活用・データ分析が基盤となっている以下のような多くの企業でも利用されています。R』1-4.オープンソースでありユーザーコミュニティによって支えられているRは拡張性の高いオープンソースです。Network)がユーザーコミュニティの中心になっています。DXのお悩みを解決する「DXの羅針盤」をダウンロードする2.RができることR言語はデータ分析において非常にパワフルな言語でありツールです。Rで出来るデータ分析の例を幾つか挙げるだけでも例えば以下のようなものがあります。データ分析的側面で言えば、以下のような領域で活躍します。gganimate』Rが出来る統計やデータ可視化はひとつのデータ分析の側面ですが、R言語はどのようなビジネス領域・場面でも活躍してくれます。以下はR言語が出来るほんの一部ですが、例えば以下があるでしょう。R』R言語は統計解析を行うため、ヘルスケア業界や政府、コンサルティング業界で多く活用されているのも納得できますね。統計解析やそもそもデータの重要性が高い業界で多く使われています。幅広い分野で活用されているR言語ですが、その活用する上では利点や弱点を知っておくことが重要です。4-1.オープンソースであり、誰もが使えるツールR言語はオープンソースのプログラミング言語です。これはライセンスを購入したりする必要がなく誰もが使えるものであるということです。Rのパッケージのカスタマイズや新たなR言語の開発自体にも貢献できます。4-2.データクレンジングにおける有用な基盤R言語はデータクレンジングをスムーズにする基盤を提供しています。dplyrやreadrのようなパッケージはデータの欠落や形式が揃っていないデータを綺麗に加工してくれるのに有用です。4-3.豊富な統計分野のパッケージR言語は豊富なパッケージを揃えています。R言語は統計分野に強い言語ですので、そのパッケージ群も豊富です。前述のCRANには10,000ほどのパッケージがあり、その数は日々増えています。これらのパッケージにより様々な業界でR言語が活用できています。Rは分類、回帰といった機械学習の実装機能や、ニューラルネットワーク開発といった特徴を持ち合わせており、機械学習のライブラリも豊富です。4-4.容易に可視化/グラフ化が可能Rはグラフ(チャート)を使った可視化も得意とします。人気のライブラリは以下があるでしょう。ggplot2plotlyこれらを使うことで他の言語では表現出来ないインパクトのある可視化を実現できます。以下の記事も可視化、データビジュアライゼーションのご参考にしていただけるはずです。わかりやすく解説4-5.他の言語やツールとの高い互換性RはC言語やC++、Java、Pythonなど多くのプログラミング言語や他ツールと連携しやすく非常に互換性の高いものです。他の言語だけではなくHadoopや多くのデータベース、システム、BIツールなどとも連携可能です。当社でも活用しているExploratoryも、Rを基盤としたツールです。Exploratoryとは?|データ活用にレバレッジをかける革新的なツール4-6.どのOS(プラットフォーム)でも簡単にセットアップが出来るR言語はプラットフォームに依存しない言語です。Windows、Linux、Macなどどのようなプラットフォームでも簡単にセットアップ、動かすことが出来ます。Markdownなどのパッケージを使うことで、分析結果のレポーティングが非常に楽になります。インタラクティブなWEBアプリを作成することも可能です。統計領域の共通言語R言語は統計の共通言語でもあります。これは他の統計ツールを開発する過程でも、R言語が大きな支配力をもっている証左でもあるでしょう。4-9.継続的な進化R言語は常にその機能や仕様の面で進化しています。他の新たなテクノロジー同様、機能が追加されどんどん便利になっています。4-10.Rはその習得コストと使い勝手のバランスが良いデータ分析には多くのツールがありますが、どのようなツールであれ新たな言語やツールを習得するには時間を投資していく必要があります。下図はそのツールにかかる習得コストとビジネスへの有用性の関係図です。縦軸は習得コストのしやすさ(1=難しい/10=簡単)横軸はそのツールのビジネスへの適合度(高度な分析の拡張性、インタラクティビティ、共有機能、WEB連携など。(1=低い/10=高い))を表しています。右下がり(ネガティブ)になっているのは、「うまい話はない」という意味でもあります。良いインサイトを得たいのであれば、適切なツールを習得/習熟する時間をかける必要がある、ということでもあります。上記にあるようなデータ分析/可視化ツールに関しては以下の記事にも詳細をご紹介・解説しています。【Tableauの使い方】Excelだけで十分では?なぜTableauが必要なの?5.Rの弱点5-1.多様なパッケージが存在しており、活用には一定の知識が必要Rのアルゴリズムは多種多様あり、散在しています。事前にパッケージの知識がないとアルゴリズムを実装するのは難しくなりがちです。“そもそもそのパッケージがあると知っていること、そしてその使い方も知っている状態”でないとデータ分析を進めるのは困難です。Rはパッケージが豊富で、パッケージのマニュアルも充実していて素晴らしいのですがマニュアルが英語なので、英語が苦手な方の場合さらに少しハードルが高くなるかもしれません。5-2.学習にあたってはデータ分析ツールの中では比較難易度の高い言語R言語を学習し習得するのは、ExcelやBIツールなども含めた「データ分析ツール全体」で考えると、簡単とは言えません。何らかのプログラミング言語の経験がない場合はRを習得する道は大変な負荷になることも多いです。MatlabやPythonと比較すると処理速度は劣ります。Cはとても速く、Pythonの16倍、そしてRと比較すると270倍の速度です。CやPythonと比較した際にどの程度になるか、こちらの記事が参考になるでしょう。Rの特徴として、シングルコアで稼働することが挙げられます。マルチコアで稼働させる場合は知識が必要です。Pythonデータサイエンティストと呼ばれる人たちはRやPythonの両方もしくはどちらかをメインに使っていることが多いです。ここではその性質の違いに触れ、どちらを最初に学ぶべきかを決めるにあたる判断材料を提供します。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などより柔軟に可視化を行うことが可能です。Rを学び始める時のおすすめソースここではRの学習をこれから始める方のために、3つのポイントをお伝えします。7-1.オンラインコース予算の範囲で下記のようなウェブでの講座コースを取るのも選択肢の一つです。下記のようなオンラインコースは多くの大学でも採用されています。非常に読みやすく、基礎からスタートできる書籍です。Rによる統計的学習入門こちらは入門書ではありますが、初学者には実際難しいです。推測統計学を一通り終わった人であれば読み進められると思います。英語版であれば無料で配布されていますのでこちらも合わせておすすめです。8-3.その他データ分析に関するおすすめ本こちらの記事にもデータ分析や可視化全般のおすすめを厳選して掲載しています。データ視覚化のプロが選ぶデータ分析のオススメ本32選8.まとめR言語はどのような場面でも使えるという意味で拡張性が高く守備範囲も広いツールです。R言語を始めれば、データ分析や可視化の面白い世界へ足を踏み入れることが出来るはずです。何らかのプログラミング経験がなければ最初は大変かもしれませんが、どのようなことでも一朝一夕で身につかないのは同じです。R言語をスタートさせたら、次はこちらの記事を参考に分析・可視化を試してみてください。R言語を含むデータ分析や可視化についてご検討中であればデータビズラボへお問い合わせください。データビズラボでは状況やニーズに合わせた様々なサポートをご提供いたします。candidate)と作成しました。無料EBook:DXの羅針盤−よくある19の質問に回答-デジタル戦略を考えようとしても、「自社のデータ活用に悩んでいる」「何からやればいいのかわからない」「新しく新設したデジタル戦略室に配属された」などお悩みの方は多いでしょう。そこでこの冊子では、DXやデジタル領域でよくある19の質問にデータビズラボ代表永田が詳しく丁寧に回答しています。データ活用・デジタルトランスフォーメーション(DX)の大方針ともなる羅針盤としてご活用していただけるものと信じています。まるごとQ&A』著者アクセンチュア、楽天、KPMGなどを経て独立。統計データ可視化データマネジメントBIツール社長ブログ2020年6月発売/データ視覚化のデザインデータにまつわる情報を定期的に購読するデータビズラボが配信している「データにまつわる有益なコンテンツ」の更新情報をお届けします。お問い合わせサービスに関するご質問や講演依頼など、お気軽にお問い合わせください。2営業日以内にお返事いたします。資料請求お問い合わせ。