R言語
概要
R言語とは、統計解析に適した仕様を持つプログラミング言語の一つ。プログラミングの専門家でなくても短い記述で大量のデータを効率よく処理できるよう配慮されている。標準の処理系はオープンソースソフトウェアとして公開されている。基本的な文法や記法は、同じ統計処理言語のS言語や関数型言語のSchemeなどの影響を受けているが、C言語のような手続き型の書式やオブジェクト指向についての仕様も規定されている。データ処理や統計解析に特化した言語であるため、汎用プログラミング言語のようなアプリケーション開発には向かない。
ユニークな仕様として「ベクトル処理」があり、ベクトル(vector)と呼ばれるリストや配列に似たデータ構造にデータを格納し、関数による一括処理やベクトル同士の演算という形で多数のデータを対象とする処理を簡潔に記述することができる。汎用言語ではfor文などでループ処理を記述する場面でも、一行のベクトル処理で済ませられることが多い。
ベクトルだけでなく配列(array)、行列(matrix)、リスト(list)、表に相当するデータフレーム(data frame)、時系列データ(time series)など様々なデータ構造、文字型、論理型、複素数を表現可能な数値型などのデータ型に標準で対応する。関数をデータとして扱う高階関数も利用できる。
統計やデータ処理についての機能が標準で豊富に組み込まれており、基本的な統計関数、検定関数、多変量解析のための関数(因子分析、主成分分析、クラスタリングなど)、様々な確率分布における確率密度や累積分布、確率点、乱数を求める関数、線形回帰モデル、分散分析モデル、欠損値(N/A)を表す定数、サンプリング関数などが用意されている。
グラフなど図表の描画機能も充実しており、解析結果を印刷物でも使用可能な品質の図表や画像に表すことができる。PNGやJPEGなどの画像ファイル、PDFやLaTeX、PostScriptなどの文書ファイルとして書き出す機能も標準で備えている。
標準に存在しない機能は「パッケージ」として追加することができる。世界中の開発者が作成したパッケージが「CRAN」(The Comprehensive R Archive Network)と呼ばれるインターネット上の集積所で公開されており、簡単な操作でパッケージの取得や開発環境への導入、更新などを行うことができる。