ここでは、データ解析向けのプログラミング言語でオープソースの「R言語」について、R言語を理解するためのはじめの一歩となる基礎知識をまとめて紹介します。

ITトレンド最終更新日: 20211207

データ解析向けプログラミング言語「R言語」とは

  • このエントリーをはてなブックマークに追加

ここでは、データ解析向けのプログラミング言語でオープソースの「R言語」について解説します。新任の企業担当者をはじめR言語を知らないデジタル従事者、サイト分析にも興味があるクリエイターが読むとわかりやすいように、R言語を理解するためのはじめの一歩となる基礎知識をまとめています。

R言語が着目される理由

各種KPIの分析などデジタルマーケティングはじめ、昨今はビジネス全体に関わるデータを分析し、結果に基づき決断するデータ・ドリブン思考が年々重要度を増しています。データ分析にはツールがあると便利です。身近なところでは、Microsoft ExcelやGoogle Sheetsなどが挙げられます。

よりさまざまなデータソースへの対応や、よりグラフィカルな分析を行いたい場合、Google Data StudioやMicrosoft PowerBI、TableauなどのGUI(グラフィカル・ユーザー・インターフェイス)で簡単に分析可能なBIツールが考えられます。データ分析という意味では、プログラミング言語(Pythonなど)があり、これらは高度な分析が実行可能です。その点「R」は、前者のBIツールのような可視化と、後者の高度な分析の両方が可能なプログラミング言語です。

R言語とは、オープンソースのデータ解析向けのプログラミング言語。ニュージーランドのオークランド大学の研究者、ロス・イハカ(Ross Ihaka)氏とロバート・ジェントルマン(Robert Gentleman)氏が1990年代に開発。データ分析に特化した言語として知られていますが、グラフなどの強力なデータ可視化機能も持つ言語です。近年、ビッグデータやデータ利活用・分析が注目されるにつれて、R言語への注目がますます高まっています。実際、GoogleやFacebook、Twitter、Netflixなど世界の名だたる企業が、データ分析の基盤にR言語を利用しています。データ分析・グラフ描画までR言語で行うこともありますが、先述してきたさまざまな商用ツールと連携して、分析をR言語で行い、グラフィカルな表示を商用ツール側で行う使い方も頻繁に行われています。

また、Excelでのデータ分析は、R言語で分析可能です。Excelのセルに計算式や関数を入力して行う分析を、R言語を使って効率化できる場合もあります。例えば、A列の数字とB列の数字の合計をC列に入力する場合、Excelではセルの計算式「=A1+B1」をC列のすべてのセルに貼り付ける必要があります。R言語であれば、データを列単位で扱えるので、効率的で関数の貼り付けミスなども発生しません。

R言語ができること

R言語は、オープンソースでさまざまなパッケージも開発されているため、できることが非常に多岐に渡ります。パッケージは、簡単なプログラムで複雑な統計計算を行えるようにしたもので、2021年2月1日時点で1万7千件強もあります。R言語自体はもちろんのこと、それらのパッケージもあわせて統計解析を中心に、時系列分析や機械学習、バイオインフォマティクス(=生命科学と情報科学の2分野の接点にあたる学際的学問分野)などにも活用されています。

R言語を用いる分析には、特に以下の内容について力を発揮します。

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

R言語のメリットは、回帰分析や時系列分析、統計的推論といった従来からの統計分析手法を行えるだけでなく、パッケージ利用を通じて世界最先端の統計分析手法を手軽にデータ分析に取り入れることが可能な点です。さらにR言語は、元来統計学の実習用プログラムとして開発されたため、統計学の勉強のツールとしても活用できます。実際の統計解析で行う計算をR言語で実行しながら統計理論を学ぶと、より理解が進むはずです。

ビジネスシーンでのR言語利用を考えると、例えば、過去のデータに基づいてコストや人員の最適配分、商品在庫の最適化をはじめ、ファイナンス分野なら金融のリスク算出など、マーケティング分野なら過去の広告パフォーマンスデータに基づく広告の効果検証や消費者の好みの分析など、多岐にわたる業務で有益です。

データ分析が重要度を増す昨今、R言語を使えることがさまざまな職業でアドバンテージとなります。従来からデータを扱ってきた機械学習エンジニアやデータサイエンティスト、ビジネスアナリストなどはもちろんのこと、コンサルタントやマーケターなどの職種でもR言語を使えることが自身の市場価値を高める要因となるのです。

R言語のデメリット、注意点

ただし、R言語は習得のハードルが高いです。プログラミング言語として考えると、R言語は非常にシンプルでわかりやすい一方、分析ツール全体の中での習得しやすさを考えると、わかりやすいGUIと日本語ドキュメントが充実しているMicrosoft ExcelやGoogle Data Studioなどと比べて難易度は高いです。過去に何らかのプログラミング言語を学んだ経験がないと、R言語習得の壁は高いでしょう。

これまで多種多様なパッケージがあると述べてきましたが、それは該当するパッケージの知識がないと、分析アルゴリズムを実装してデータ分析を行うことが難しいことも意味します。また、それらのパッケージのマニュアルやドキュメントは豊富に用意されていますが、すべて英語です。英語が苦手な人にはさらにハードルが高いです。

分析の実務面でフォーカスすると、実行速度の遅さもデメリットです。同じプログラミング言語で、データ分析にも使われるPythonと比較した場合、シングルコアでしか基本的に動作せず、分析の実行速度が遅いです。

メリットとデメリットの両面はありますが、総じてR言語を使えることは、データドリブンなビジネスモデルが隆盛を極める昨今における意味は大きいのです。

実際にR言語を使ってみよう

ここからは実際に、R言語をインストールして簡単なグラフを描いてみましょう。まず、R言語の公式WebサイトからR言語本体をダウンロード&インストールします。

“The Comprehensive R Archive Network”.The Comprehensive R Archive Network.
https://cran.ism.ac.jp/

ダウンロード画面に遷移したら、R言語のコアとなる「base」を選択します。

ちなみに、「base」の下にある「contrib」には、さまざまなパッケージがバンドルされています。

インストーラーのダウンロードが完了したら、解凍し起動しましょう。セットアップする言語を聞かれますので、「日本語」を選択。インストールが完了したら、実行します。下のような画面が出てくれば、問題なく動作しています。

R言語は、画面内に赤く表示されている「>」の横に入力していきます。ここでは、R言語に標準添付されているデータセット「VADeaths」を使います。VADeathsの中身は、50歳〜74歳の年齢を5段階に分けて、その死亡率を田舎(rural)、都会(urban)の男性(male)と女性(female)別に分けて集計したデータです。

>data(VADeaths)
>VADeaths   (→注:サンプルデータの中身が表示されます)
>barplot(VADeaths[,1], main = “Death of Rural Male”)

上のとおりに入力してください。3行目の「barplot」は、棒グラフを描画する関数です。

サンプルデータ全体は以下の内容となっています。

Rの先ほどの3行分を実行してみると、「Death of Rural Male = 田舎の男性の死亡率」について、下のとおり縦の棒グラフが表示されます。

今後、R言語を深く学習したい場合、日本の各大学が演習の一環としてさまざまな教材を提供しているので、検索して調べてみるといいでしょう。その他、英語ですがスタンフォード大学など世界的な有名大学が講座を提供する教育プラットフォーム「Coursera(コーセラ)」などのオンラインコースを利用すると、より本格的なR言語学習のための講座も提供されています。

R言語の活用環境に適するパソコン

最後に、少しでもR言語に興味を持っている人や、徐々にR言語を活用していきたい人にとって、適したパソコン環境についても考えてみましょう。R言語で大規模なデータ処理ができるかどうかは、メモリ容量に依存します。そう考えると、メモリ容量に一定の余裕があるマシンを揃えたいところです。最低でも16GB、できれば32GB以上の搭載のパソコンを用意できると安心です。

すでに先述したとおり、R言語は基本的にシングルコアでしか動作しません。しかし、オープンソースで開発されているため、マルチコアへの拡張やGPUの活用などの各種パッケージも出ています。そのパッケージを利用すれば、パフォーマンスの問題はある程度改善できます。その点からもおすすめなのは、シングルコア性能がよく、マルチスレッド性能もよい、なるべく最新CPUを搭載したパソコンがいいでしょう。さらに最新の演算処理性能が高いGPUを用意しておけば、複雑な処理にかかる時間も大幅軽減されます。

以上を鑑みると、筆者の考えでは最低16GB以上のメモリを搭載した上で、NVIDIA GeForce RTX 3060 TiやAMD Radeon RX 6700 XTあたりの性能のGPUも搭載したパソコンをおすすめしたいです。

 

 

ライタープロフィール 野澤智朝

広告クリエイティブや技術、ガジェットなどを取り上げるメディア「ニテンイチリュウ」の運営者であり、現役マーケター。デジタルクリエイティブやデジタルマーケティングに関するメディアで連載を担当してきたほか、各種記事の寄稿が多数。

記事を
シェア