xlispstat

XLISP-STAT

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)

別のウィンドウが現れて、下図のように表示されます (このとき、ウィンドウマネージャの設定によっては キーボードフォーカスがグラフのウィンドウに移ってしまいますので 注意してください)。

histogram

変数の一覧を表示するには

> (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 は、

  1. カレントディレクトリの下の Data サブディレクトリ
  2. /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 上の参考になるページを御紹介します。

Luke Tierney さん著「LISP-STAT」は訳が 共立出版から出ています。

その他のアプリケーション

確率・統計に関しては pasustatist のページも参照してください。

[2001/05/10 作成] [2003/08/23 更新]


このページに関する御意見、御要望を science@mlb.co.jp までお寄せ下さい
Copyright © 2001-2005 Media Lab. All Rights Reserved.