序文
NODE、LUA、Python、Ruby、Rの5つの言語のうち、2014年により良い未来があるのはどれですか?
2014年だけでなく、これからもっと長い期間、Rを主人公に選ぶことに迷いはありません。
ディレクトリ
- なぜRを選ぶのですか?
- RR言語応用の展望
- 時代に求められるRの仕事
私はプログラマーであり、アーキテクトでもあります。プログラミングを始めてから今日に至るまで、Javaは世界を変える言語だと確信してきましたし、Javaはそれを実現し、素晴らしい成果を上げてきました。しかし、Javaの世界がどんどん大きくなり、全能になっていくとき、代わりにJavaは十分な専門性を持たず、他の言語に成長のチャンスを与えてしまいます。
この比較では、特定の分野で非常に優れており、繁栄している5つのプログラミング言語を紹介します。
私はJavaを11年、Rを3年、Nodeを1年使っています。という質問に対して、私はR言語を選びます。
2.Rを選んだ理由
私がRを選んだ理由を次のように説明します。
- R
- R
- Rコミュニティとリソース
- R
- RRのユーザー
- R
- Rの考え方
- R解決した問題
- R
1). の遺伝子は
Rは統計学者によって発明された言語であり、本質的に統計的な性質を持っています。
R言語を学び始めたときから、私は境界を越えた知識について考えるようになりました。統計学は確率論に基づいており、その確率論は数学に基づいていて、ある分野の実際の問題を解決するためにコンピュータ化された方法でプログラムされています。単純に計算すると、4つの分野の知識が交差することで、問題を解決する能力が決まることがわかります。統計学の遺伝子がR言語を違うものにしています!
2). Rの開発
Rはニッチな分野で発展してきたもので、最初は統計学者だけが使っていて、主にSASをRに置き換えて統計計算をしていました。時代は進み、ビッグデータの爆発的な増加に伴い、この波の中でようやくRが産業界に発見されました。そして、その輪に工学系の出身者がどんどん加わり、Rの計算エンジンやRの性能、Rの様々なパッケージの改善やアップグレードが行われ、Rに新しい息吹が吹き込まれました。
現在使用されているR言語ソフトウェアは、産業用ソフトウェアの標準に近づきつつあります。エンジニアが推進するRの開発ペースは、統計学者が推進するペースをはるかに凌駕しています。データ分析の需要がさらに高まるにつれ、Rはさらに速いペースで進化を続け、フリーでオープンソースのデータ分析ソフトウェアの代名詞となるでしょう。
3). Rのコミュニティとリソース
Rは、Rのコミュニティのサポートなしには発展できなかったでしょう。もちろん、Rの公式コミュニティをウェブページから見ると、CSSスタイルシートに少し手を加えるだけで、もっと見栄えが良くなるような、とてもスパルタンなものに見えることは認めざるを得ません。このシンプルさと飾り気のなさも、統計学者のDNAなのかもしれません。
Rコミュニティでは、R言語用のソフトウェア、R用のサードパーティパッケージ、その他のRサポートソフトウェアをダウンロードすることができます。開発者フォーラム、Rジャーナル・リスト、パッケージ・リスト、R言語書籍リスト、Rユーザー・グループなどの情報もあり、他の言語コミュニティと同様に充実しています。
多くの人は、パッケージの数が5236しかないのは少なすぎると言うかもしれません。なぜなら、CRANは申請書を提出する必要があり、R言語チームはリリースする前にそれをレビューし、チェックするからです。そして、審査は非常に厳しく、高品質であることが新しいRパッケージをリリースするための基本条件です。CRANのレビューが厳しすぎるため、多くの開発者がRForgeで公開することを選択し、いくつかのRパッケージはGithubのリリースに基づいています。
- R公式アドレスhttp://.r-.org/
- R開発者フォーラム
- CRAN
- RForge
#p#
4). Rの哲学
それぞれの言語には設計思想や哲学があり、私の知るRの哲学は「落ち着いて物事を行う」というものです。
Rにはそれほど長いコードは必要ありませんし、デザインパターンも必要ありません。いくつかのパラメータを渡して関数を呼び出すだけで、複雑な統計モデルを実装することができます。必要なのは、どのようなモデルを使い、どのようなパラメータを渡すかであって、どのようにプログラミングするかではありません。
ある人は「数式から統計モデルへ」というプロセスをRで実装するかもしれません。の複雑さは?
数学や統計学を計算モデルに変えることができるRの哲学は、RのDNAです。
5). R
R言語は、統計解析、応用数学、計量経済学、財務分析、金融分析、人文科学、データマイニング、人工知能、バイオインフォマティクス、バイオ医薬品、グローバル地球科学、データビジュアライゼーションなど、さまざまな異なる分野で、主にアカデミアの統計学者によって初期に使用されていました。
近年、インターネットを契機としたビッグデータ革命により、産業界の人々がRを理解し、Rに参加するようになり、より多くのエンジニアのバックグラウンドを持つ人々がR言語ユーザーの仲間入りをすることで、Rはあらゆる分野のように発展し始め、産業化に必要な要件を徐々に実現しています。
- RevolutionAnalytics の RHadoop 製品は、R から Hadoop クラスタリソースを直接呼び出すことができます。
- のRStudio製品は、編集ソフトウェアに新しい視点を与えます。
- RMySQL、ROracle、RJDBCがRとデータベースへのアクセスチャネルを開放
- Rmpi、snowがシングルコンピューターのマルチコア並列コンピューティングへの道を拓く
- Rserve,rwebsocketは、R言語のクロスプラットフォーム通信チャネルを開きます。
- Rはアカデミアの言語というだけでなく、産業界にとっても必須の言語となるでしょう。
6). R
RはPythonの構文を持つオブジェクト指向言語ですが、Rの構文はとても自由で、多くの関数の名前はとても恣意的に見えます!
このような代入構文を見ると、他の言語をベースとするプログラマーは間違いなくクラッシュするでしょう。
> a<-c(1,2,3,4)->b
> a
[1] 1 2 3 4
> b
[1] 1 2 3 4
正規分布N(0,1)からランダムに10個の数字を取るのは、これまたとても簡単です。
> rnorm(10)
[1] -0.694541401 1.877780959 -0.178608091 0.004362026
[5] 0.836891967 1.794961298 0.115284187 0.155175219
[9] 0.464028612 -0.842569561
RによるIrisデータセットの散布図!
> data(iris) #データセットを読み込む
> head(iris) #データセットの最初の6行を見る
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> plot(iris) #
Rの構文をユニークで簡潔なものにしているのは、R Freeの哲学であり、私はそれが大好きになりました。
7). Rの考え方
R言語は私に既成概念にとらわれない考え方をさせてくれました。Rでは、コンピュータの思考ではなく、統計学の観点から考えるべきです。
R言語は直接的なデータ指向言語です。日常生活では、何をするにもデータが発生します。ネットサーフィンには閲覧データがあり、物を買うには消費データがあり、何もしなくても大気中のPM2.5の影響を受けます。R言語を使えば、これらのデータを直接分析することができます。
プロダクト・マネージャーからプログラマーに役割を変えることなく、どのような機能が利用可能かを考えることなく、プログラミングについて考えることなく、直面しているビジネスについてどのようなデータでも分析できます。
プログラマーという概念にとらわれずに考えることで、より多くのことを感じ取ることができ、より自分に合ったニッチを見つけることができるでしょう。
#p#
8). Rによって解決される問題
データが生産手段となったとき、Rは人々が生産手段の価値を創造するために生産手段を使用できるようにするためのものであり、R言語は主にデータの問題を解決するためのものです。
Hadoopがビッグデータ保存の問題を解決するのに役立っているとき、データの価値をどのように見つけるかが今日の最もホットな話題になっています。R言語の統計分析機能は、データ分析に最適なツールです。
つまり、Rが解決しようとしている問題は、ビッグデータ時代の問題であり、時代が与えた課題なのです。
9). Rの欠点
Rの長所について語られすぎていますが、Rには多くの短所があります。
- R言語は統計学者によって書かれたソフトウェアであり、ソフトウェアエンジニアによって書かれたソフトウェアほど堅牢ではありません。
- R言語ソフトの性能には、いくつかの問題があります。
- R言語は非常に自由で、構文の命名はあまり標準化されておらず、使いこなすには時間がかかります。
- R言語は多くの数学、確率、統計の基礎を兼ね備えており、それを学ぶには一定の敷居があります。
Rのこうした欠点は克服できます。エンジニアのバックグラウンドを持つ人が増えれば、R言語は今よりもさらに強力になり、ユーザーがより多くの価値を創造できるようになるでしょう。
3.Rの応用の展望
RはSASができることはすべてできます。
Rアプリケーションの最もホットな分野:
- 統計分析:統計分布、仮説検定、統計モデリングを含む
- 金融分析:定量戦略、ポートフォリオ、リスクコントロール、時系列、ボラティリティ
- データマイニング:データマイニングアルゴリズム、データモデリング、機械学習
- インターネット:レコメンダーシステム、消費者予測、ソーシャルネットワーク
- バイオインフォマティクス:DNA解析、生物種解析
- バイオ医薬品:生存分析、医薬品プロセス管理
- 地球地球科学:気象、気候、リモートセンシングデータ
- データの視覚化:静的グラフ、インタラクティブな動的グラフ、ソーシャルグラフ、マップ、ヒートマップ、様々なJavascriptライブラリとの統合
私はR言語の応用について、上記の人気分野を含め、多くのブログ記事を書いてきました。ただし、生物学は例外で、R言語には非常に有望な未来があり、次世代の最も価値あるツールになる準備が整っています。
4.時代がRに与えた指令
R言語は、ビッグデータの時代に業界で理解され、認知されている言語です。R言語は、データの価値を採掘し、データの法則を発見し、データの富を創造するという課題を時代から与えられています。
以上、「R言語は学ぶべき最高のプログラミング言語」だと思います。現在勉強中の方も、すでに社会人の方も、R言語というツールを使いこなし、自分に最適なポジションを見つけることで、未来は無限に広がります。
結論として、これら5つの言語の中でRは最も特別であり、Rには他の言語とは異なる使命が与えられています。Rの遺伝子は、2014年、そしておそらく今後長期にわたってRが主役になることを指示しています。
プログラマーから始まり、アーキテクトに至るまで、数多くのシステムやアプリケーションを経験。モバイルゲーム、プログラミングツール、大規模Webアプリケーション、社内CRM、SOAシステムインテグレーション、Hadoopベースのビッグデータツール、アウトソーシング、Eコマース、グループバイイング、決済、SNS、モバイルSNSなど。ITサークルから金融サークルに飛び込み、クオンツ・トレーディング・ソフトウェアの研究開発。
注:私はR言語に関する本を書いており、この投稿はその本の冒頭を飾るものです。
[]




