XLISP-STAT は Lisp で書かれた統計ソフトウェア Lisp-Stat
を、フリーの Lisp 処理系である XLISP 上に実装したものです。
現在は XLISP を拡張した XLISP-PLUS と一緒に配布されています。
Lisp で書かれているので拡張が容易です。グラフ機能も備えています。
(右図をクリックすると大きく表示します。)
作者: Luke Tierney さん
ホームページ:
http://www.stat.umn.edu/~luke/xls/xlsinfo/xlsinfo.html
バージョン: 3.52.19 (2003/02/06)
ライセンス: distributable
付属ドキュメント README を読む (内容は少し古いです)
LinuxMLD 5 には
Ver.3.52.18 が収録されています。3.52.19 との差はわずかです。
インストールしたら、ターミナル・エミュレータから
$ xlispstat
で起動します。
XLISP-PLUS version 3.04 Portions Copyright (c) 1988, by David Betz. Modified by Thomas Almy and others. XLISP-STAT Release 3.52.19 (Beta). Copyright (c) 1989-1999, by Luke Tierney. >
終了するには
> (exit)
このように XLISP-STAT では関数を括弧で囲んだものがコマンドになります。 通常の算術関数の他、統計用の関数があらかじめ用意されています。 これらは、(関数 引数) の形で使います。
たとえば、1 + 2
を計算するには
> (+ 1 2) 3
いくつかの数の平均を求めるにはデータをリストにして、平均を求める関数
mean
を適用します。
> (mean (list 206 170 155 155 134 239 234 228 330 284)) 213.49999999999997
(list ...)
の代わりに '(...)
と書くことができます。
関数名などでは大文字小文字は区別されません。
データを毎回書き並べるのは大変なので、通常はデータのリストに名前を付けます。 これで変数として使えるようになります。
> (def x '(206 170 155 155 134 239 234 228 330 284)) X > (mean x) 213.49999999999997
ヒストグラムを書くには次のようにします。
> (histogram x)
別のウィンドウが現れて、下図のように表示されます (このとき、ウィンドウマネージャの設定によっては キーボードフォーカスがグラフのウィンドウに移ってしまいますので 注意してください)。
変数の一覧を表示するには
> (variables) (X)
括弧で囲まれているのは、複数の名前をリストとして返す為です。
データをファイルに保存するには savevar
を使います。
> (savevar 'x "mydata") (X)
これでカレントディレクトリに mydata.lsp
というファイルができます。
複数のデータを同時に保存するなら最初の引数を '(x y ...)
のように変数名のリストにします。
mydata.lsp
の中身はこんな風になっています。
(DEF X (QUOTE (206 170 155 155 134 239 234 228 330 284)))
これを次の実行時に利用するには
> (load "mydata")
load
は、与えられた名前 (に .lsp
を付けた)
のファイルをカレントディレクトリで探します。もし無ければディレクトリ
/usr/lib/xlispstat/
を探します。
同様に、load-data
は、
Data
サブディレクトリ
/usr/lib/xlispstat/Data
ディレクトリ
の順でファイルを探します。
エディタや表計算ソフトで作成した通常のテキストファイルからデータを読み込むには
read-data-columns
という関数が用意されています。
関数の使い方が分からないときは help
を使います
(ただしあまり詳しくはありません)。
> (help 'read-data-columns) READ-DATA-COLUMNS [function-doc] Args: (&optional file cols) Reads the data in FILE as COLS columns and returns a list of lists representing the columns. NIL
そのほか、help*
は関数名に指定の文字列を含む関数のへルプを表示
(例えば (help* "load")
)、
apropos
は関数名に指定の文字列を含む関数の一覧を表示します。
ディレクトリ /usr/lib/xlispstat/Data
には練習用のデータが幾つか用意されています。またそれらを使うデモが
/usr/lib/xlispstat/Examples/
にあります。
次のようにして、デモを実行してみてください。
> (load-example "regdemo")
LinuxMLD 5,6,7 用 RPM
xlispstat-3.52.19-1_mlb1.i386.rpm (934,711 bytes)
をインストールします。
rpm コマンドでインストールするにはスーパーユーザになって
# rpm -i xlispstat-3.52.19-1_mlb1.i386.rpm
とします。
MLD 5,6 では
Gnome の GUI でインストールすることもできます。
LinuxMLD 5 では xlispstat-3.52.18 が DISC 3 に収録されています。 3.52.19 との違いは、グラフ表示の線の太さ指定が 3.52.18 では (描画の高速化のために) 無視されるのがデフォルトだったのが廃止されたことぐらいで、 ほとんど差はありません。
XLISP-STAT のパッケージにはドキュメントはほとんど含まれていません。
XLISP-PLUS のドキュメントは 120 ページの Post Script ファイルが
/usr/share/doc/xlispstat-3.52.19/doc/xlispdoc.ps
にあります。
少し古いし、Macintosh 用に書かれていますが、 tutorial を含んだドキュメントは XLISP-STAT のホームページで読めます (Lisp-Stat Documentation のリンクを辿ってください)。 同じ内容の TeX あるいは PostScript のファイルは ftp://ftp.stat.umn.edu/pub/xlispstat の other ディレクトリにあります。 あるいは Statlib --- XlispStat Archive から入手できます (国内のサイトでは PHASE プロジェクトのミラー http://phase.hpcc.jp/mirrors/stat/xlispstat/ があります)。
Lisp はチンプンカンプンという人には
が役に立つかもしれません。
Web 上の参考になるページを御紹介します。
「統計」(共立講座 21世紀の数学 14,共立出版,1997年) のプログラム例があります
Luke Tierney さん著「LISP-STAT」は訳が 共立出版から出ています。
その他のアプリケーション
XLISP-STAT をベースにしたグラフィカルな統計解析ソフト
商用の SPSS のクローンを目指しているけどまだ開発途中です
確率・統計に関しては pasu、 statist のページも参照してください。