PyhonとRどっちがオススメ?RからPythonに乗り換えた理由

データ分析や機械学習と言えばPythonですよね?いやいや,それともR? 私はもともとRを使っていたのですが,3年ほど前から徐々にPythonに乗り換えて現在はPythonを使っています.

f:id:weekend_warrior:20190825015156j:plain

なんでRを始めたか?

同調圧力ですね.周りがみんなRを使っている,データ分析を始めたとき,そういう環境だったからです. すでにPythonに慣れている状況でしたらそのまま使いつづけたでしょうが,そのときはRもPythonも触れたことがありませんでした.時期的には2013年あたりで,ちょっとずつデータ分析や機械学習がバズり始めたかな?という感じでした. わざわざ自分だけ違うツールを選んでもなにか困ったときに周りに教えてもらうこともできないし,コードも共有できないし,ということでRを選択.

なんで乗り換えたのか?

データ分析や機械学習に縛られないから

Pythonはなにもデータ分析や機械学習に特化した言語ではありません. 「これはPythonの方がいいのかも...」と思い始めたのは,Rで分析した結果をGUIアプリにしてほしいと言われたときでした. RでもWebアプリやGUIを開発できるShinyというフレームワークがあるのだけれど, データ分析やMLを使用しない通常のWebアプリ開発に,わざわざR(Shiny)で開発することはないだろうと判断. つまり,「Shinyを頑張ってマスター」より「Pythonでデータ分析+Web開発をマスター」の方が学習コストはもちろん高いですが,メリットも多いだろうと思ったのです.

Deep LearningPythonが有利だから

もはや避けては通れないDeep Learning(深層学習).Deep LearningのライブラリはPythonを対象にしていることが多いです. kerasライブラリがRにも対応しているみたいですが,やっぱり世の中的にはヘビです. 個人的にはDeep Learningの勢いがつくにつれてPython人気が高まっていったようにも感じています.

書籍もネット上の情報もPythonだらけです. 上に書いた「なんでRを始めたか?」とも同じですが,周りと同じツールを使うとキャッチできる情報量が増えます.このメリットは大きいです.

乗り換えて大変だったこと

いまだに正しくrangeを使ったforループが書けなくてPyCharmに怒られてます. まあ,複数言語使いのあるあるかもしれません...

「Rは1オリジンでPythonは0オリジン」というのも有名な違いですが,こちらはあまり混乱しませんでした.0オリジンのJavaを使っているからかもしれません.1オリジンという異端者が消えてむしろよかったってことなんでしょう...

今から勉強を始めるなら...断然Pythonで!

というわけで,今からデータ分析や機械学習や始める人にはPythonをオススメします.というかオススメしなくてもPythonだと思いますが笑

R, I still love you!

自分にとっては初めてのスクリプト言語で,プログラミングが楽しいって思えるようになったのはRのおかげです. IDEのRStudioもめっちゃ好き.Python使えるようにしてくれないかな...ってくらい好き.

一時はRstudioっぽいIDEがないか必死に探してました笑

weekendwarrior.hatenablog.com

現在は,PyCharmやJupyter Notebookを使っています. (Jupyter Notebookはどんな変数が存在しているか常時一覧で出してくれないので嫌い)

あと,初対面のR使いさんとは「最近Rってどうなんでしょう〜?」と話のネタになります笑 ということで,Rを使っていたことは後悔していません...!