PythonとR言語の違い

こちらもおすすめ

【2022年1月最新:全部受講】Udemyのおすすめ31選をカテゴリ別に紹介【データサイエンス/機械学習,Python/R/SQLプログラミング】 | Quant College

QuantLib-Pythonチュートリアル(導入編)をリリースしました。 | Quant College

【初心者から上級者まで】Pythonプログラミング独学におすすめの本6選 (難易度順)【感想あり】 | Quant College

【感想あり】C++プログラミングの独学におすすめの本4選【金融工学徒向け】 | Quant College

PythonとR言語の文法の違い

PythonとRはデータサイエンス界隈でよく比較されるが、コードを書く立場からすると文法も結構異なっており、Pythonユーザーが何となくRコードを書くとエラーに苦しんだりする。

文法の違いで注意したほうがいい点は以下の通り。

  • 配列のインデックスが、Pythonは0始まりだが、Rは1始まり(実はJulia言語もRと同じく1始まり)
  • 行列など多次元配列の要素にアクセスする際、Pythonは X[i][j] だが、Rは X[i, j] とカンマで区切る
  • 行列の一行を切り出してベクトルとして関数func()に渡す際、Pythonは func(X[i]) だが、Rは func(X[i,]) としないといけない(カンマが必要)
  • ifやforの制御構文で、Pythonは if x > y: だが、Rは if (x > y) { } としないといけない(RはC言語などと同じ書き方。{ }でブロックを表現する。)
  • for文は、Pythonが for i in range(10):
    に対し、Rは for (i in 1:10) { } と書く
  • 関数定義は、Pythonが def func():
    に対し、Rは func <- function() { } と書く
  • += などの塁算代入演算子が、Pythonにはあるが、Rにはデフォルトではないと思われる
  • 関数の返り値で、Pythonは return a だが、Rは return(a) としないといけない(かっこが必要)
  • 変数への代入について、代入演算子がPythonは「=」だが、Rは「<-」が推奨されている

全体的にPythonのほうがシンプルで、Rは少々クセのある書き方、という印象である。先にPythonを学んでからRを学んだほうがいいかもしれない。

データサイエンス関連では特に、配列のインデックスが1始まりという点や、行列からベクトルを切り出す際に X[i,] とカンマが必要な点などは要注意だろう。

あわせて読みたい

プログラミングの勉強法 | Quant College

ライブラリ習熟度のステップ | Quant College

ライブラリの効率的な勉強法 | Quant College

主成分分析と因子分析の違いと使い分け【わかりやすく】 | Quant College

第一種過誤/第二種過誤とは?違いと覚え方をわかりやすく | Quant College

再現率/適合率とは?違い/覚え方【わかりやすく】 | Quant College

数学とプログラミングのどちらの能力を伸ばしておくべきか? | Quant College

金融工学の研究/実務で使うプログラミング言語10選 | Quant College

クオンツ業務で必要なプログラミング言語は? | Quant College

競技プログラミング経験はクオンツ就活で有利になるか | Quant College

こちらもおすすめ

【2022年1月最新:全部受講】Udemyのおすすめ31選をカテゴリ別に紹介【データサイエンス/機械学習,Python/R/SQLプログラミング】 | Quant College

QuantLib-Pythonチュートリアル(導入編)をリリースしました。 | Quant College

【初心者から上級者まで】Pythonプログラミング独学におすすめの本6選 (難易度順)【感想あり】 | Quant College

【感想あり】C++プログラミングの独学におすすめの本4選【金融工学徒向け】 | Quant College