RからPythonへの切り替えは価値がありますか?[閉まっている]


31

Rを教えられた1年間のデータサイエンス修士課程を終えたばかりです。Pythonの方が人気があり、AIでより大きなコミュニティを持っていることがわかりました。

私の立場の誰かがPythonに切り替える価値はありますか?もしそうなら、なぜですか?pythonにはRで利用できないゲームを変える機能がありますか、それともコミュニティの問題ですか?


2
公立大学、私立大学、または企業教育システムのコースでしたか?
マヌエルロドリゲス

12
Pythonに切り替えることはできません。あなたは既にRで書いたプロジェクトについて話しているのではなく、Pythonに移植したいのです。単にPythonを学ぶことについて尋ねているだけです(Rを忘れないでください)。Pythonを学ぶ価値はありますか?今日では、コンピューターでのデータ処理に関連するものを扱う場合、Pythonを学ばないことはほとんど不可能です...
lvella

1
なぜこれが意見に基づいて閉じられなかったのかはわかりませんが、嬉しいです。
エヴォラー

1
@Evorlor確かにこの質問をされますと述べ、私の答えは、参照してください。また、主の意見に基づく答えにつながるし。さらに、私も答えを出したが、私は主に意見に基づいてこの質問を閉じることに投票した。このウェブサイトには、このタイプの質問がたくさんあります。これが良いことなのかどうかはもうわかりませんが、この質問に対する現在の答えは多くの人にとって有益です。
nbro

2
これはどうして閉じられないのですか?? これは標準的な意見に基づく質問です。
スペースタイパー

回答:


60

あなたの質問を再構成したいと思います。

切り替えについて考えるのではなく、追加することを考えてください。

データサイエンスでは、pythonまたはrを使用して非常に遠くまで移動できますが、両方を使用して最も遠くまで移動できます。

reticulateパッケージのおかげで、Pythonとrは非常によく統合されます。簡単にrのデータを整理することがよくあります。Pythonでモデルをトレーニングして、優れた速度を活用し、rの結果ggplotを1つのノートブックにすべて美しく表示するためです。

rを既に知っている場合、それを放棄する意味がない場合は、賢明で使いやすい場所で使用してください。しかし、多くの用途にPythonを追加することは100%良い考えです。

両方に慣れると、お気に入りの言語に最も支配されたワークフローになります。


あなたの視点に完全に同意します。それを追加して、Rスキルセットを放棄しないようにしてください。
イェンスコール

3
に賛成票を投じるreticulate。rstudioはpythonの検査もサポートしており、追加中です
ブルース

両方を使用する場合の唯一の問題は、他のすべての人がRとPythonを使用することに依存するようにすることです。私はあなたのスキルセットに「追加」することに同意しますが、スクリプトを書くときは物事を純粋に保ちます!
PascalVKooten

reticulateRがPythonを使用できるようにします。同様に、rpy2PythonがRを使用できるようにします。同様の目的を持つプログラミング言語では、互いに対話する方法が一般的です。
JG

まさに。ツールを交換するのではなく、ベルトに追加してください。これで、より多くのツールを使用して、より多くの問題をより良い方法で解決できます。
マスト

28

もちろん、このタイプの質問は、主に意見に基づく回答にもつながります。それにもかかわらず、機械学習、統計、およびデータ分析タスクに関して、各言語の長所と短所を列挙することは可能です。以下にリストします。

R

強み

  • Rは統計学者およびデータアナリスト向けに設計および開発されたため、すぐに使用できる(つまり、言語自体の一部である)、統計学者向けの機能と機能を提供します。関連パッケージをインストールします。たとえば、有名なPythonのpandasパッケージをインストールしない限り、Pythonが提供しないデータフレーム。行列、ベクトルなどのような他の例もあります。Pythonにも同様のデータ構造がありますが、より一般的であるため、統計学者向けではありません。

  • 統計ライブラリはたくさんあります。

弱さ

Python

強み

  • GoogleやFacebookを含む多くの人々や企業は、Pythonに多くの投資をしています。たとえば、TensorFlowとPyTorch(2つの広く使用されている機械学習フレームワーク)の主要なプログラミング言語はPythonです。したがって、Pythonが少なくとも5〜10年は機械学習で広く使用され続けることはほとんどありません。

  • Pythonコミュニティは、Rコミュニティよりもはるかに大きい可能性があります。実際、たとえば、Tiobeのインデックスを見ると、Pythonは3番目に配置され、Rは20番目に配置されています。

  • Pythonは、統計や機械学習コミュニティ以外でも広く使用されています。たとえば、Web開発に使用されます(PythonフレームワークDjangoまたはFlaskを参照)。

  • 多くの機械学習ライブラリ(TensorFlowやPyTorchなど)があります。

弱さ

  • 適切なパッケージをインストールしない限り、すぐに使用できるRが提供する統計およびデータ分析機能は提供しません。これは、あなたの哲学的な観点に応じて、弱さまたは強さである可能性があります。

これらの言語には、他にも長所と短所があります。たとえば、両方の言語は動的です。ただし、この機能は長所と短所の両方になり得ます(また、機械学習や統計に厳密に関連しているわけではありません)。したがって、上記には記載しませんでした。明らかな理由のために、コードの読みやすさや学習曲線などの意見を述べる言語機能について言及することは避けました(たとえば、すべての人が同じプログラミング経験を持っているわけではありません)。

結論

機械学習や統計を勉強しているなら、Pythonは間違いなく学ぶ価値があります。ただし、Rを使用しないという意味ではありません。Rは、特定のタスクに対して依然として便利です。


3
「すぐに使える」機能セットは無関係であるようです。関連するのは、あなたが望むことをするパッケージの可用性です。
ディーンマックレガー

1
@DeanMacGregorインターネットにアクセスできない場合、この機能は重要です!さらに、プログラミング言語がすぐに使用可能な機能をすでに提供している場合、それを探す時間を失う必要はありません。
nbro

Pythonが「バッテリーを含む」ことでひどくin延していることを考えると、Pythonの弱点は頻繁に遭遇するものではありません。使用中のPythonのインストールがあり、特に以来行う統計パッケージが含まれていますが。特にデータサイエンスでは、Anacondaは非常に人気があり、当面の懸念を解決します。
マスト

6

RからPythonへの移行を余儀なくされたため、この選択はありませんでした。

それはあなたの環境に依存します:エンジニア部門に組み込まれている場合、ワーキングテクニカルグループまたはPythonに似た何かが実行可能です。

科学者、特に統計学者に囲まれている場合は、Rのままにしてください。

PS:Rはpythonの内部で実装されていますが、kerasとtensorflowも提供しています。Pythonが必要になるのは非常に高度なものだけです。Pythonに慣れてきましたが、Rのsynthax は簡単です。また、各パッケージには独自のものがありますが、Pythonにはないものの、何らかの一貫性があります。そしてggplotは非常に強力です。Pythonにはクローン(プロトニン)がありますが、いくつかの(重要な)機能がありません。原則として、Rとほぼ同じことを行うことができますが、特にRでは視覚化とデータラングリングがはるかに簡単です。したがって、最も有名なPythonライブラリであるpandas はRのクローンです。

PSS:高度な統計は間違いなくRを対象としています。Pythonはデータサイエンティスト向けの日常的なツールとメソッドを多数提供していますが、Rが提供する13,000を超えるパッケージには到達しません。たとえば、逆回帰を行う必要がありましたが、Pythonはこれを提供していません。Rでは、いくつかの信頼性テストと、線形か非線形かを選択できます。混合モデルについても同じことが言えます。Pythonで実装されていますが、非常に基本的であるため、これがどのように誰かに十分なのか理解できません。


4

はいと言うでしょう。PythonはほとんどのタスクでRよりも優れていますが、Rにはニッチがあり、多くの状況でそれを使用したいと思うでしょう。

さらに、第2言語を学習すると、プログラミングスキルが向上します。

R対Pythonの長所についての私自身の見方は、テーブルやチャートを含む小さな単一の目的のプログラム、または同じ方法での探索作業にはRを好むということです。私は他のすべてのためにPythonを好むでしょう。

  • Rはテーブルマッシングに非常に適しています。特定のプログラムが行うことのほとんどが、いくつかのテーブルを異なる形状に滑らかにすることである場合、Rを選択します。Pythonにはこのためのツールがありますが、Rはそのために設計されており、より優れています。
  • ggplot2はAPIの使いやすさの傑作であり、matplotlibはクロールの恐怖であるため、チャートを作成する必要があるときはいつでもRに切り替える価値があります。
  • Pythonは汎用プログラミング向けに設計されています。非常に適切に設計された一連の標準データ構造、標準ライブラリ、および制御フローステートメントがあります。
  • Rは汎用プログラミングにはあまり適していません。ツリー構造またはグラフ構造のデータをうまく処理しません。すぐに便利ないくつかのルール(親スコープを調べて変更できるなど)がありますが、使用すると、プログラムの成長、変更、または構成が難しくなります。
  • Rには、いくつかの単純な悪い点もあります。これらは主に、3つの異なるオブジェクトシステムのような単なる歴史的な残り物です。

最後の点について詳しく説明すると、コンピュータプログラミングがうまくできているのは、独自のブリック(関数とモジュール)を作成するレゴです。

プログラムは通常、元の設計を超えて変更および再利用されます。それらを構築するとき、どの部品が再利用される可能性があるかを考え、それらの部品を他のブリックにプラグインできる一般的な方法で構築すると便利です。

Rは、すべてのレンガを一緒に溶かすことをお勧めします。


1

他の人が言ったように、それは「スイッチ」ではありません。しかし、Pythonを武器に追加する価値はありますか?確かに言うでしょう。データサイエンスでは、Pythonは人気があり、ますます人気が高まっていますが、Rはやや後退しています。そして、機械学習とニューラルネットワークの分野では、Pythonが現在の主要言語であると言えます。使用法の観点から、Rが実際にここに来るとは思いません。このすべての理由は一般性です。Pythonは一般的なプログラミング言語として意図されており、あらゆる種類のタスクを簡単にスクリプト化できます。きちんと構造化された統計の世界に厳密にとどまっている場合、Rは素晴らしいですが、AIを使用すると、斬新で雑多なことをしなければならなくなることが多く、RがPythonを打ち負かすことはできないと思います。このため、


0

これは完全に私の個人的な意見です。

私は自分のオフィス(建設現場)で「すべてのタスクに適したツールがある」と読みました。

プログラマーとして、さまざまな仕事に直面することを期待しています。「購入または投資」できる限り多くのツールが必要です。ある日はツールで解決でき、ある日は他のツールで解決できます。R(統計用)とPython(一般用)は、私にとって間違いなく必要な2つのツールであり、投資する価値があると思います。

スイッチに関する限り、私が知っている最も効率的なツールを使用します(効率はクライアントの要件、時間とコストの投資、コーディングの容易さによって測定されます)。私が知っているより多くのツール、陽気です!もちろん、それには実際的な制限があります。

これはすべて私の個人的な意見であり、必ずしも正しいとは限りません。


0

Rを使用してデータサイエンスに1年間投資し、R環境に組み込みましたが、データサイエンスのためにpythonを探索したいようです。

リストとタプルがどのように機能するか、クラスとオブジェクトがどのように機能するかなど、まずPythonの基本を学びます。

次に、numpy matplotlib pandasのようないくつかのライブラリで手を汚します。テンソルフローまたはケラスを学習してから、データサイエンスに進みます。


-1

2匹のうさぎを追いかける人はどちらもつかまえない

そして、はい、Pythonはより一般的です。私は両方で働いていますが、ビジネス的には、RよりもPythonで仕事を見つけるのは簡単です。

だから、次のことができます:

  • Pythonの方が人気があるので選んでください。ただし、最初から始める必要があります。

または

  • 結局のところ、Rで1年間のトレーニングを受ける価値があります。しかし、一般的ではありません。

ここで、追加のプログラミング言語を学ぶとどういうわけかあなたが悪化するという提案はナンセンスです。追加のプログラミング言語、特になじみのない言語を学習すると、どの言語のプログラマーとしても常にスキルが向上します。
ウィル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.