S言語(えすげんご)とは、1984年、AT&Tベル研究所の John Chambers, Rick Becker, Allan Wilks らによって研究・開発された統計処理言語である。当初は「Sシステム」と呼ばれ、UNIX上における統計処理を行うソフトのコマンドの役割を果たす言語として開発された。 その後、機能の拡張を続け1988年にプログラミング言語としてのS言語が策定された。さらに1991年にオブジェクト指向プログラミングの機能が追加され現在に至る。
言語の特長は Chambers によって、to turn ideas into software, quickly and faithfully と説明されている。
GNUプロジェクトによりオープンソースで作成されているR言語はS言語の文法を取り入れており、ほぼ同等の機能をもつ。S言語自体の処理系としては商用版の S-PLUS が知られている。
S言語は1998年にACMのソフトウェアシステム賞を獲得している。
特徴 S言語の特徴として以下のような機能を持つことが挙げられる。 インタプリタ方式 ソースコードを直接実行できる対話型インタプリタ言語である。 処理結果をグラフとして図示する機能が重視。 ヒストグラム、円グラフ、折れ線グラフ、散布図、箱ひげ図、等高線プロットなどを描画する関数が用意されており、データを引数とするだけで描画させることができる。 行列(ベクトル)を取り扱う機能が用意されている。 行列同士の演算、転置、結合、特異値分解、逆行列を求めるための関数が用意されている。 統計分布を算出する機能が豊富に用意されている。 正規分布、指数分布、ガンマ分布、ベータ分布、カイ二乗分布など主要な確率分布の確率密度関数、累積分布関数を計算する関数、各分布にもとづく乱数を発生させる関数が用意されている。 多変量解析のための関数が用意されている。 主成分分析、判別分析、重回帰分析、正準相関分析、クラスター分析といった多変量解析のための関数が用意されている。 UNIXコマンドを直接実行できる。 UNIXのコマンドを直接実行するための関数が用意されている。また、外部呼出しを行えるため、FORTRANやC言語で作成した関数の呼び出しも行える。
引用文献
関連項目 R言語 S-PLUS
外部リンク The R programming language, - Open Source implementation of S A Brief History of S, by Richard A. Becker (in PostScript format) Evolution of the S Language, by John M. Chambers, discusses the new features in Version 4 of S (in PostScript format) Stages in the Evolution of S, by John M. Chambers