イテレーターとしての for をはじめ各種制御命令も充実しているので、ベクトルや行列の簡潔な処理では書けない制御や大型の計算も記述できる。
統計に適した解析環境.
最小限の労力で見通しよく解析するために工夫された命令体系を備えている。
言語仕様.
制御構造・サブルーチン.
関数呼び出しも一種のリストとして処理されており、次のように call 関数を用いて、関数名と引数のリストから関数呼び出しオブジェクトを生成できる。
関数はファイルから読み込むこともでき、さらには、パッケージとしてひとまとまりにもできる。
オブジェクト指向.
データ型.
数値型（複素数を含む）・文字型・論理型といった基本的な型やベクトル・リスト・行列といった統計処理や情報処理に必要な型を備えている。既述のように、関数それ自体もデータである。データフレームは配列ないしはリストの拡張版で、コラムごとに異なったデータ型を持てるため、表の形で表現されたデータを格納／操作するのに有用である。データフレームは行列から生成することもあるが、ここではリストとの関連で説明する。
ベクトルとリスト.
データフレーム.
もうすこし大きな表、例えば
を例えば「犬猫」という名前の変数にデータフレームとして付値（代入に相当）すると、その内容は
のように、本来のデータをよく表現するものとなっている。それだけでなく、「猫」「犬」「♀」「♂」などの文字データは内部的に因子ないしはカテゴリに変換されている。データフレームから特定のデータコラムを抽出するには 変数名$タグ名 、例えば、 犬猫$月齢 とする。特定のデータ行だけを抽出するには subset 関数または要素の指定 [ ] を用いる。例えば、
機能.
データ入出力.
データのプロット.
ワークスペースの保存.
現在の作業状況に名前を付けて保存し、後に再利用できる。コマンドを発行するコンソールの内容も保存できるので、どのような処理を行って結果を得たかを確実に記録し、再現できる。発見的操作を伴う研究用途では極めて重要な要素である。
その他.
日本語対応.
日本語に対応しており、関数名・変数名・コメントなどに日本語を使える。
プログラムの入手.
パッケージ.
CUIとGUI.
処理速度.