こちらの記事では、具体的にR言語はどんな言語なのか、何ができるのか、どのように学習すれば良いのか、どのような仕事につながるのか、など順を追ってご説明していきます。
<目次>
●R言語ってどんな言語?
・概要
・R言語はオープンソース
●R言語の特徴は?
・R言語の特徴、できること、メリット
・R言語が活用されたサービスの事例
・R言語でできないこと、デメリット
●他言語との違いは?
・Excelとの違い
・Pythonとの違い
・相性の良い他言語
●R言語を使ってどんな仕事ができる?
・職種の例
・仕事内容の例
●R言語を学びたい! まずは何をすれば良い?
・学習の大まかな流れ
・Java学習におすすめの参考書、サイト
●R言語で就職できる企業を探すには?
●この記事のまとめ
●先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
・ONE CAREER for Engineerではどんなことができる?
R言語ってどんな言語?
この記事では、データ分析のためのプログラミング言語「R」について紹介します。
概要
R言語は、データ分析に特化したプログラミング言語で、30年近い歴史があります。世界中の大学や研究機関で、データ分析ツールのスタンダードとして使われています。
また、企業での利用も広がっています。なお、Rという名前については、ベースになった商用言語が「S」なのでそのひとつ前、という説や開発者2人のイニシャルがともにRだから、など諸説あります(※1)。
(※1)参考:The R Project「R: The R Project for Statistical Computing」
R言語はオープンソース
Rはオープンソースソフトウエアで、インターネットから無償で入手できます。R本体だけでなく、後述するRStudioやパッケージなど、周辺のソフトウエアもほぼ全て無償で利用できます。
R言語の特徴は?
R言語の特徴、できること、メリット
オブジェクトと関数を組み合わせるプログラミングスタイル
Rでは、分析したいデータをオブジェクト(変数)に代入し、分析や加工の手法が定義された関数を適用することで結果を得る、という形でプログラムを記述します。
例えば、10個の数値の平均を計算するプログラムは以下のようになります。
また、一般的にRプログラミングはRStudioというIDE(統合開発環境)やVisual Studio Codeなどのエディターで行います。
豊富な組み込み関数
そして、標準で多くのデータ分析のための関数が用意されており、ビジネスや研究で使用する基本的な分析は、Rをインストールするだけでできます。
2標本のt検定を行うプログラム例
高度なグラフィックス機能
データをもとにグラフを描く機能も標準で実装されており、高度なグラフィックスも簡単に描けます。以下に、組み込み関数によるグラフィックスの例を示します。
パッケージによる機能拡張
Rに機能追加するためのパッケージが多数公開されており、実行したい分析に合わせて無償で利用できます。
パッケージを利用して機能拡張した例
R言語が活用されたサービスの事例
Rは計算結果の信頼性が検証されており、世界中の政府機関で利用されています。例えば、アメリカ食品医薬品局 (FDA) はRを業務で使っています(※2)。
また、Shinyというウェブアプリを容易に構築できるパッケージを利用し、感染症などの状況をリアルタイムに表示するダッシュボードなどが作成・公開されています(※3)。
(※2)参考:Revolutions「FDA: R OK for drug trials」
(※3)参考:The London School of Hygiene & Tropical Medicine「COVID-19 | LSHTM」
R言語でできないこと、デメリット
Rが苦手とすることもあります。ひとつは、大量データの取り扱いです。Rはデータをコンピューターのメモリに読み込んで処理するため、メモリサイズ以上のデータを扱えません。また、標準ではCPUのシングルコアしか使用しないため、高速な計算も得意ではありません。そして、データ分析に特化しているため、他のITシステムに組み込むことが難しいです。
ただし、ここで挙げた「できないこと」の大半も、パッケージとプログラミングスキルを活用すれば解決可能であることが多いです。
他言語との違いは?
Rと、他にデータ分析でよく使われるソフトウエア、言語を比べてみましょう。
Excelとの違い
Excelはビジネスに広く浸透しているため、Rよりもデータや分析結果の共有がしやすいです。また、マウス操作で集計、可視化が容易にできます。一方で、機械学習を用いた予測モデルを作成する、といった高度な分析は得意ではありません。
Excelによるデータ分析の例
Pythonとの違い
データ分析において、R以上に広く使われている言語にPythonがあります。Pythonはデータ分析専用ではない汎用(はんよう)言語なので、ITシステムへの組み込みや大規模な分析プログラムの開発に適しています。ただし、データ分析を行うためにはライブラリ(=Rのパッケージ)をインストールし、それぞれの使い方に習熟する必要があります。また、Rよりもオブジェクト指向など、プログラミングの基本スキルを求められる傾向にあります。
なお、Pythonでデータ分析を行う際、「ノートブック」という形式でプログラムを作成することが一般的です。ノートブック作成環境をクラウドで提供するサービスとして、Google Colaboratory(Colab)などがあり、ビジネスの現場においても広く使われています。Colabはさまざまな言語に対応しており、Rも実行できます。
Google Colabの実行例。左がPython、右がR
相性の良い他言語
Rと合わせて学習すると良い言語として、データベース(DB)を操作するためのSQLがあります。RにせよPythonにせよ、分析したいデータはDBに入っていることが多いので、DBから必要なデータを検索・抽出するSQLはデータ分析のための必須スキルです。DBをSQLで操作し、結果をファイルに出力してからRで分析することもできますが、RからDBに接続し、SQLで操作するためのパッケージもあります。
RからDBに接続し、SQLで操作する例
R言語を使ってどんな仕事ができる?
ここまでRについて紹介してきましたが、Rを使う仕事にはどのようなものがあるのでしょうか。
職種の例
現在のところ、世間一般で「データ分析といえばPython」というように認識されているため、Rを指定した求人は多くありません。ただ、前述のように政府機関や官公庁ではRを使っていることが多く、総務省統計局が自治体職員向けにRの研修を提供しています。
また、マーケティングリサーチ企業や民間教育サービス企業でもRを使っているところがあります。
仕事内容の例
ここでは、Rを使ったデータ分析の仕事の流れを紹介します。
データ収集
RはテキストファイルやExcelファイル、DB、Web APIなど幅広いデータソースに対応しています。また、ウェブページからのデータ抽出(スクレイピング)もパッケージを活用して容易に行えます。
Rでデータを収集する例
データ加工
データは収集した段階では分析しやすい形になっていないことも多いため、前処理が重要です。Rではデータの前処理も、組み込み関数やパッケージを活用して効率的に行えます。
データ前処理の例
データの観察
Rの高度なグラフィックス機能を活用し、データを可視化して特徴を把握できます。
パッケージを活用してデータを観察する例
モデリング
Rではシンプルな線形回帰からディープラーニングまで、幅広い機械学習アルゴリズムを利用し、高度な予測モデルを作成できます。近年では、tidymodelsというフレームワークが広く使われるようになっており、さまざまなアルゴリズムを適用し、評価して最適なモデルを作成するトライアンドエラーが効率的に行えるようになっています。
レポート作成
R Markdownというプログラムとドキュメントを統合して文書を作成できる仕組みがあり、分析結果の報告がとても効率的にできます。作成した文書は、HTMLやWord、PowerPointなどさまざまな形式で出力できます(※4)。
(※4)参考:tidymodels「tidymodels」
ダッシュボード化
前述のShinyパッケージを使い、分析結果をダッシュボード化して、データを必要とする現場に展開できます。
Rで開発したウェブアプリの例
このように、Rはデータ分析・活用の全てのプロセスを強力にサポートします。
R言語を学びたい! まずは何をすれば良い?
Rをこれから学ぶ場合、何から始めれば良いのでしょうか。
学習の大まかな流れ
Rはデータ分析のための言語なので、活用するためには基礎的な統計学のスキルが必要です。一方で、数式を覚えてもRで実行できなければ意味がないため、学習は統計学の知識とRプログラミングのスキルを行ったり来たりしながら進めていくことになるでしょう。また、そのように何かを学んだらすぐにアウトプットするやり方のほうが、楽しく進められます。
Rをパソコンにインストールしなくても、前述のGoogle Colabや、RStudioを利用できるPosit Cloudなどのクラウドサービスがあるので、すぐに学習を始められます。
R言語学習におすすめの書籍、サイト
統計学とRをどちらもこれから学習する、という方向けに書籍やウェブ上の学習コンテンツを紹介します。
・『Rによるやさしい統計学』(オーム社、2008年)
・『Rによる多変量解析入門 データ分析の実践と理論』(オーム社、2018年)
・『超入門! Rでできるビジュアル統計学 学会・論文発表に役立つデータ可視化マニュアル』(金芳堂、2021年)
・『改訂2版 RユーザのためのRStudio[実践]入門〜tidyverseによるモダンな分析フローの世界』(技術評論社、2021年)
R言語で就職できる企業を探すには?
前述のように、Rに限定した求人はほぼないため、データサイエンス・AI(人工知能)系の企業の採用プロセスでは、Rだけでなく、PythonやSQLが使えることをアピールすると良いでしょう。
この記事のまとめ
この記事では、データ分析のためのプログラミング言語「R」について紹介しました。たくさんの実例を示したように、Rはデータ分析・活用の全てのプロセスを強力にサポートします。
ぜひ、Rとデータサイエンスを学び、就職活動の際のアピールポイントにできるようになってください。
先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
エンジニア就活をこれから始める、今まさに選考を受けている皆様へ、このような悩みはないでしょうか?
「総合職やビジネス職ばかりで、エンジニア職の体験談が見つからない」「内定を獲得した先輩が、どんな開発経験を積んでいたのか/どんな対策をしていたのか知りたい」
こういった悩みをお持ちの方に向けて、エンジニア職特化の就活サイト、「ONE CAREER for Engineer」をリリースいたしました!
▼ONE CAREER for Engineerエンジニアや技術職の就活・選考体験談を探す ※選考体験談の閲覧には、別途会員登録が必要です。
ONE CAREER for Engineerではどんなことができる?
1. エンジニア特化の選考体験談が見られる!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
エンジニア就活ならではといえる、「コーディングテスト」の体験談も多数公開しています!
2. 登録いただいたプロフィール情報をもとにポートフォリオを自動生成!
「ご自身の技術経験を企業へどう伝えよう……」とお悩みの方は、こちらの機能をご活用ください!
3. エンジニア職の選考体験談投稿で謝礼(Amazon ギフト券)をもらえる!
ご自身の選考の体験談をご登録いただくことで、謝礼(Amazonギフト券)をプレゼントしております!
エンジニア就活をこれから始める方、選考対策にお困りの方は、ぜひこの機会にご登録をお待ちしております!
(Photo:BAIVECTOR/Shutterstock.com)