データサイエンス、統計分析ならR言語
らしいけど、それって何なの?
R言語って機械学習に関係ある?
Pythonの違いもよく分からない…
どちらを学習すればいいのかな?
こんにちは。文系出身プログラマで、現在はライターとしても活動している佐藤です。
皆さんはR言語というプログラミング言語をご存知でしょうか? いま機械学習やデータサイエンスの分野で注目されているため、聞いたことがあるという方も多いのではないでしょうか。
ですが、どんな言語で何が出来るのか知りたいと思って調べてみても、なかなか専門的な内容が多く概要をつかむのが難しいですよね。この記事では、そんな悩みをお持ちの方へ向けて「R言語とは何か?」をなるべく簡単な言葉で解説します。
特徴やできること、学習方法、Pythonとの違いや求人に関することも併せて紹介していきます。学習しようか悩んでいる方も、ぜひ最後までご覧ください。それではさっそくR言語の特徴について見ていきましょう。
- R言語は統計解析に特化したプログラミング言語
- R言語はデータ分析や機械学習などと相性が良い
- あらゆるOSで活用できるものR言語の大きな特徴
R言語とは?
この章ではR言語の特徴を分かりやすい言葉で解説していきます。難しい言葉ばかりでどんな言語かよく分からない……という方も安心してご覧ください。
統計解析向けのプログラミング言語
R言語は1996年ごろに登場したオープンソースでフリーなプログラミング言語です。日本では「あーるげんご」または「あーる」と呼ばれています。
オブジェクト指向の手法も取り入れられた言語ですが、よく名前を見かける「Java」や「C#」などの汎用プログラミング言語とは異なり、統計解析だけに特化したプログラミング言語です。
グラフを作成し画像として出力するなど、解析に便利な機能が豊富に搭載されています。その記述もシンプルに行うことができます。
日本語にも対応していて、コメントや関数名などにも日本語を使うことができるのも特徴の一つです。マルチプラットフォームなこともあり、データ分析の分野では昔から広く使用されているんです。ちょっと難しい言葉が並んでしまったので、超簡単にひと言でまとめていきましょう。
超簡単にひと言で特徴を紹介
R言語の特徴を分かりやすい言葉でまとめます。
データ解析専門の言語
R言語はデータ解析に特化した言語です。JavaやC#のように、なんでも作れるという汎用的な言語ではありません。その代わり、データ解析を便利に簡単に行えるような機能がたくさん詰まっています。折れ線グラフ、円グラフ…などさまざまな形式のグラフを出力する機能は非常に有名です。
ソースコードは難しくない
R言語は統計学者が作成したプログラミング言語なこともあり、コード自体の難易度は低めです。プログラミングに少しでも触れたことがある人なら文法などは比較的簡単に習得できます。その分、有用に使いこなすには統計分析の知識も必要になってきます。
どんなOSでも使える
Windows、Macを問わないのはもちろん、LinuxやUNIX等でも動作します。以上がR言語の特徴です。さて、汎用的ではないR言語がどうして今注目されているのでしょうか?次の項目で解説していきます。
どうして今注目されているのか
R言語は先ほど紹介したように、データ解析専門のプログラミング言語です。汎用言語と違い、使用されている環境が限られているのにも関わらず人気プログラミング言語ランキングでは16位にランクインしています。
限定的な使用しかできないこの言語が、上位にランクインしているのには理由があります。それは近年ビッグデータ解析が熱く注目されていることと、機械学習ブームが関係しています。
企業がビッグデータを解析することが当たり前の時代が到来したため、R言語の需要は学術的な分野にとどまらずビジネス界でも増えているんですね。また、機械学習を行うには統計解析が不可欠といえます。
そのような流れのなか、R言語を導入する企業や学習する人が増えいます。そのため、更に学びやすくなっているのもR言語人気を後押ししています。そんなR言語は実際にどのように使われているのでしょうか? 実例を交えて見ていきましょう。
R言語でできること
この章では、R言語で出来ることを実例を交えて紹介していきます。
機械学習や統計解析で使える
何度も紹介しているようにR言語は機械学習、統計分析で使用されています。統計分析とは、統計学を用いて、データを分析することです。様々なデータを分析することで、しっかりとした根拠をもって施策を行うことが出来るため、取り入れている企業が増えています。
現在では金融工学やマーケティング、機械学習などの応用統計の分野や生命科学分野の研究、学校での統計教育など様々な分野でR言語は使用されています。機械学習について詳しく知りたい方は、是非この記事をご覧ください。
機械学習や人工知能のブームを後押しにして、R言語が使われる分野は拡大していくでしょう。
データの解析を専門的に行う職業がある
データを解析して施策を行うことが当たり前になりつつあるということは、それを専門に行う職業の需要も上がってきているということです。ビッグデータを活用、分析することをデータサイエンスといいます。
そのデータサイエンスのプロで、データを活用し企業の施策決定の手伝いをする人々のことを「データサイエンティスト」と呼びます。彼らはR言語を駆使して分析作業を行います。そのため、R言語自体の需要も高まっているということなんですね。
こんな企業でも使われている
そのようなデータサイエンスを行っている企業は非常に多くあります。「Google」「Facebook」など世界的な巨大企業から日本では「DeNA」や「ドリコム」などでR言語を使ったデータ分析が行われていると発表されています。
「DeNA」はソーシャルゲームなどで有名ですよね。ソーシャルゲームなどは特に大量のデータを解析する必要があるんです。大量のデータを解析することで現在のユーザーの行動分析を行い、どのようにユーザーを獲得するかなどの施策決定を行っています。
さて、次の章ではPythonとの関係について解説していきます。なぜいきなりPython? 思われるかもしれませんが、実はデータ分析・機械学習はPythonでもできるんです。R言語となにが違うのか、一緒に見ていきましょう。
Pythonとの関係
この章ではPythonとの関係を解説していきます。どちらを学習するか悩んでいる方には必見の章になっていますので、ぜひご覧ください。
Pythonとの違い
R言語はデータ分析に特化した言語と説明しました。実は、Pythonでもデータ分析・機械学習を行うことが出来るんです。二つの言語にはどのような違いがあるのか。ひと言でそれをいうなら「汎用性」です。
R言語は先ほども説明したように「データ分析専門」の言語です。単体でWebアプリを作ったりということはできません。Pythonは汎用言語なので、Webアプリなど色々なものを作ることが出来ます。データ分析はPythonで出来ることの一つということです。
それではR言語より、Pythonを学習するべきなのでは? と思う方もいらっしゃると思います。どちらを学習するべきなのかは、次の章で解説していきます。
PythonとR言語どちらを学習するべきか
汎用性があるPythonと特化型のR言語、どちらを学習するべきなのか迷いますよね。R言語は統計解析に特化しているだけあり、Pythonよりもデータ分析に関する機能が多くあります。また、Pythonよりも簡単なコードでデータ解析をすることができるんです。
Pythonはデータ分析以外にもできることが色々ある反面、覚えることが多くなってしまいます。
結論をまとめると
- とことん専門的にデータ分析を行えるようになりたい。データサイエンティストを目指したい。と考えているならR言語
- データ分析以外にも汎用的に出来るようになっておきたい。Webアプリも作ってみたい。と考えているならPython
このように2つの言語のどちらを学習するかは、自分の目的に応じて決定していくのがおすすめです。次の章ではR言語のメリットとデメリットも紹介していきます。併せて確認し、学習する言語を決めてみましょう。
R言語のメリット・デメリット
ここまで、いろいろなメリット・デメリットを紹介してきました。この章では、確認しやすいよう表にまとめてみます。
メリット | デメリット |
---|---|
データ分析に便利な機能がたくさん | データ分析以外のことはできない |
コード自体は簡単 | 統計学の学習も必要 |
いま需要が高まっている |
やはり、データ分析に特化した言語であるため他のことが出来ないというのがメリットでもあり、デメリットでもあります。データ分析や機械学習でやりたいことがある、データ分析の仕事がしたいと考えている方なら、学習するべき言語といえます。
では、R言語を使った仕事には実際どのようなものがあるのでしょうか? 事例と一緒に見ていきましょう。
R言語を必要とする求人や案件
この章では、実際の求人情報を確認しながらR言語の需要や案件について解説していきます。
実際の求人を見てみよう
まずはR言語の求人がどれほどあるのか、実際に求人サイト「Paiza転職」で検索してみてみましょう。
2019/4現在、25件の求人情報がありました。Pythonの求人は200件ほどなので、まだまだ求人数では差がありますね。実際の仕事内容はどのようなものなのでしょうか? 次は「レバテックフリーランス」の内容を実際に見てみましょう。
生体反応のデータをR言語で分析する案件が見つかりました。バイタルデータを分析してのサービス開発という最先端の技術を使った案件なので、非常に興味深いですよね。
まだ案件自体は少なめといった印象ですが、R言語が使用できるエンジニアの年収はどれくらいなのでしょうか?
年収はどれくらい?
R言語でお仕事をしているエンジニアの年収の中央値は574.8万円で、なんと6位なんです。Pythonには僅差で金額は負けていますが、RubyやCなどを押さえて、かなり高額な年収中央値になっていますよね。
今後もデータ分析・機械学習の分野で需要が高まることが予想されてるので来年のランキングも注目です。ここまでR言語についていろいろな面を紹介していました。興味が湧いた! という方もいらっしゃると思いますので、次の章ではR言語のインストール方法について解説していきます。
R言語をインストールして動かしてみよう
実際に使ってみたい! と興味が湧いた方は、R言語をインストールして簡単なグラフを書いてみましょう。まずは、公式サイトからR言語本体をインストールします。
自分のOSに合ったものをダウンロード→インストールします。筆者はWindowsを使用しているので、Windows版を選択します。
次に出てくる画面では、「base」を選択しましょう。
最後に確認画面が出てきますので、問題なければダウンロードを選択します。
無事にインストーラーのダウンロードが終わったら、解凍し起動します。起動するとセットアップする言語について聞かれるので「日本語」を選択しましょう。あとは「次へ」で問題ありません。インストールが終了したら、Rを実行してみます。次のような画面が表示されれば準備は完了です。
コンソール画面で赤く表示されている「>」の横にコマンドを入力していきます。R言語で値を代入したい時は「<-」、グラフを書くときは「plot」と入力します。
x <- 1:20 y <- 1:20 plot(x,y)
実行結果:
とても簡単ですがグラフを書き、出力することが出来ました! 本格的にR言語で開発していく段階になったら、統合開発環境(IDE)の利用をお勧めします。R言語のIDEは「RStudio」が有名なので、使ってみたい方はこちらからセットアップしてみてください。
次の章では、具体的な学習方法について紹介していきます。
R言語を学習したいと思ったら
R言語を学習しようと思った方へ、学習方法について少し紹介していきます。
①独学で学ぶ
まずは独学で学ぶ方法からです。
R言語を独学で学んでみようと考えている方は、まず「書籍」や「学習サイト」を確認して基礎を学習していきましょう。
前提:プログラミングの独学は挫折しやすいことを心得る
独学を始めてしまう前に知っておいてほしいのは、R言語によらず「プログラミングの独学は挫折率が高い」ということです。
上記の画像にあるように、当社の調べではプログラミング独学の経験者の約9割が挫折したことがあるというデータが出ています。
※関連記事
理由を見ると、「不明点が質問・相談できなかった」や「エラーが解決できなかった」等が並びます。
プログラミング学習のハードルは思ったよりも高いということがわかりますね。
そのため、まずR言語を独学する際には以下のフローで少しずつハードルを上げながら勉強していきましょう。
初心者のための入門書籍
R言語を学習する初心者にお勧めの書籍を紹介します。
Rによるやさしい統計学|Amazon
こちらは、Rを使いながら統計学について学習できる基礎的な本です。統計学も同時に学ぶことが出来るので入門にはぴったりです。
RStudioではじめるRプログラミング入門|Amazon
こちらは統計学の学習はできませんが、R言語についてより詳しく学習できる入門書です。統計学についての学習が済んでいる方、プログラミング初心者にもおすすめです。
参考になる学習サイト・ページ
学習の参考になる学習サイトやページを紹介します。
[はじめてのR] https://www.slideshare.net/m884/japan-r-15432969
こちらはスライドです。初めてR言語を学習する人向けにRを紹介するスライドになっています。長くないので、まずはこちらをみて雰囲気をつかんでみましょう。
[R-Tips] http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
入門編の情報から、様々な分析手法に関して情報がまとまっています。学習中の手助けになること間違いなしです。
②勉強会・イベントに参加してみる
R言語の勉強会は年に数回行われているようですので、こちらも合わせて参加してみることをおすすめします。勉強会の情報をゲットするには「Connpass」や「TECH PLAY」で「R言語」「Rプログラミング」などで検索してみましょう。
勉強会で同じレベルの人と情報交換したり、現役プログラマに教えてもらえたりと良いことばかりな筈です。勇気を出して行ってみることをおすすめします!
③独学が不安なら「プログラミングスクール」で学習しよう
独学での勉強法について紹介しましたが
以前独学でプログラミングの勉強をしたことがあるけど挫折した…
また繰り返しそうで怖い…
初心者なので目標を設定するのが難しい…
という不安を抱えているという方もいるかもしれません。
そんな方はプログラミングスクールでの学習を検討してみましょう。
スクールなら、講師があなたに適切なレベルの目標を設定してくれたり、目的に合った学習言語を提案してくれます。困った時も頼れる人がいるって安心ですよね。
とはいえスクールに行くのにはお金がかかったりして、失敗したらどうしようと躊躇しがちですよね。
侍エンジニアでは、「無料カウンセリング」を行っていますので、事前に雰囲気を体験できます。プロのコンサルタントがあなたの悩みや不安をしっかり解決へ導いてくれますので、まずは一度無料カウンセリングを受けてみることをお勧めします。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
予約が完了しました。ご予約情報とご参加前の準備をご確認ください。
【ご予約情報】○月○日(△) ○○:○○〜
カウンセリング参加に向けてのご準備
※記入いただいたメールアドレスに確認用メールをお送りしておりますのでご確認ください。
※オンラインカウンセリングはGoogle Meetにて実施します。URLが発行したら別途ご案内いたします。
※メールが届かない場合は、SAMURAI ENGINEERサポート(support@sejuku.net)までご連絡ください。
まとめ
機械学習で話題のプログラミング言語「R言語」について紹介しました。まだまだ、使われる分野が広がっていきそうで将来が楽しみな言語ですよね。興味が湧いた方はぜひ紹介した書籍等を使って学習してみてください。それでは、また次の解説で!
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
この記事の監修者
株式会社SAMURAI
独学でプログラミング学習を始めるも挫折。プログラミングスクール「SAMURAI ENGINEER」を受講し、Web制作を学ぶ。副業でWeb制作を行いつつ、「初心者がプログラミングで挫折しないためのコンテンツ制作」をモットーにWebライターとして侍エンジニアブログ編集部に従事。