LoginSignup
16
3

More than 1 year has passed since last update.

プログラミング初心者にこそRを使ってほしい

Last updated at Posted at 2022-12-10

こんにちは、akkerina です。
先月からドワンゴでN予備校プログラミング教材制作に携わっています。
今日は、私の推しプログラミング言語、Rについて熱く語ります。

R って何?

R とは、統計学者が好んで使うプログラミング言語です。
めちゃくちゃ使い勝手がよいのですが、一般にはあまり知られていません。
Web エンジニアからは見向きもされません。悲しい。

本気でウェブページ作りたいなら、がっつり JavaScript を勉強してください。
本気で機械学習やってみたいなら、がっつり Python を勉強してください。
本気で競技プログラミングしたいなら、がっつり C を勉強してください。

でも、手軽にデータ分析・可視化したいのであれば、断然 R をおすすめします!
なぜなら、R は始めやすいプログラミング言語だからです。
教材としてもぜひ使ってほしいです。

R をおすすめする理由

1. セットアップが簡単

R をインストールする。RStudio をインストールする。終わり。
誰がやってもこの手順!

これに対して、某プログラミング言語を始めようとすると、VS Code? PyCharm? Anaconda? Spyder? Jupyter Notebook? 結局何をインストールすればいいの?ってなって、この時点でやめたくなる。

2. パッケージのインストールが楽

コンソールから install.packages() でインストールできる。
もちろん、GUI からボタンクリックでインストールしてもオッケー。
依存関係のあるパッケージも自動でインストールしてくれる。

conda? pip? コマンドウィンドウ?
ソンナノワカラナクテモダイジョウブ。

3. 代入が矢印

R では、たとえば、x に 10 を代入したいとき、 x <- 10 と書きます。
誰がどう見ても代入ですね。

これが他のプログラミング言語だと x = 10 となり、初学者にとっては分かりづらい。

4. 添え字が 1 から始まる

これはもう R の勝ちでしょ。
これだけの理由で R を選ぶのもありだと思います。

5. 配列の範囲選択の仕方が明白

array という名前の配列に、10, 20, 30, 40, 50 の五つの数字がこの順番で入っていて、二番目から四番目の要素を取り出したいとします。
普通に考えたら array[2:4] でしょ。これ以外ないっしょ。

余談ですが、某プログラミング言語で、array[::-1] とすると、要素が逆向きになった配列が返ってくる件。
array[0:4:-1] だと空配列が返ってくるのにな。
お前もプログラミング言語の端くれなら一貫性を持ってくれ、と言いたい(端くれじゃなくて大御所だけど)。

6. 元からいろんな関数が入っている

パッケージのインストールなしで、mean()sd() が使える。
円周率も pi に入ってる。

ちなみに、英語では、円周率に対応する単語がないらしい。
円周率のことを pi と呼ぶそうです。不便じゃね?

7. 要素ごとの計算がシンプルに書ける

秒を分に変換したいときなど、min <- sec / 60 とすれば、sec の要素一つ一つを 60 で割ってくれる。

データフレームも元から入ってるよ。
pandas ナンテイラナイヨ。

8. 行列の計算ができる

A %*% B で行列の掛け算をしてくれます。
教育現場では重宝するのでは?

と思ったら、高校数学では行列ってやらないの?
お偉いさーん、高校で行列教えたほうががいいよー。
あと、個人的にはインド英語にも慣れさせたほうがいいと思う。

9. グラフが最強

基本的なグラフ(散布図、ヒストグラム、箱ひげ図など)なら、パッケージのインストールなしで描ける。
ggplot2 を使えば、きれいなグラフが描ける。
グループごとに色を変えたり、グラフを並べたりも簡単!

10. R 推しの人と仲良くなれる

自分の好きな漫画とかキャラがポピュラーじゃなくて、同じくそれを好きな人と出会ったら、盛り上がりますよね。

近い将来、きっと、みんなプログラミングができるようになって、合コンとかで「推しプログラミング言語は何ですか?」なんて質問が飛び交うようになるはずです。
そんなとき、同じ R 推しで恋が芽生えたら最高じゃないですか?

R への投資は未来の幸福への投資です!
(ちなみに R はオープンソースなので、投資にかかるのは時間だけです。)

R を学ぶデメリット

ただ、R を学ぶことには、いくつかデメリットもあります。

まず、R を使う人が少ないので、チームプロジェクト向きではない。
ゆえに、仕事で使う可能性は極めて低い。

よって、履歴書に書いても素通りされやすい。
Java や Python のほうが間違いなく企業受けする。

しかし、最大のデメリットは、R に慣れてしまうと、他のプログラミング言語がまどろっこしく感じること。

なので、私は、さくっと何かを確認したいときは R、人と共有するコードは他のプログラミング言語、と使い分けています。

おわりに

R はデータ分析用の言語なので、某プログラミング言語と比べる形になってしまいましたが、某プログラミング言語をディスっているわけではないです。
誰でも手軽に機械学習が使えて便利だと思います。

Java も Python も C も JavaScript も、みんな違ってみんないい。

でも、やっぱり、私にとっての一番は R だなぁ(エモい)。
この記事を読んで、R いいかもって思ってくれた方、ぜひ使ってみてください!

いやいや、やっぱり JavaScript でしょうって思った方、N予備校でお待ちしております。

16
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
3