Xlisp-stat with R-Code 初學使用 Unix 版
Unix 版的Xlisp-stat包含以下的子目錄:
ALR: 此目錄的data files 是來自Weisberg(1985), Applied
Linear Regression, 2nd Edition, Wiley。其檔案名稱型
式為 "alrxxx.lsp", 例如: alr102.lsp,表示在 Applied Linear
Regression第102頁例子或習題的資料。
RIR :此目錄的data files 來自Cook and Weisberg(1982),
Residuals and Influencein Regression ,Chapman & Hall。
其檔案名稱型式也為 "rirxxx.lsp"。
R-code : The main Xlisp-stat program fo R-Code
package。
R-data : 此目錄的data files 來自it An Introduction to
Regression Graphics ,Wiley。
初次 run xlisp-stat,請按照以下步驟作程式的拷貝,才能使用
Xlisp-stat
建立目錄:在自己的家目錄下建立一個
Xlisp-stat 的工作目錄(例如:xlisp)
拷貝檔案:拷貝以下三個檔案到所建立的目錄xlisp
: statinit.lsp ,rcode.lsp ,ALR.lsp。
此三檔為執行 R-Code所必須的。
完成上述的軟體拷貝後,就可執行 Xlisp-stat了 。
以下則介紹一程式作業的整個流程,引導初學者迅速熟悉Xlisp-stat的程式環境。
假使你是rlogin或telnet到別台機器,在進入 Xlisp-stat 之前,
請先設定顯示環境,
這樣才能開視窗顯示圖形在你的螢幕上。
[jasmine][~][5]> setenv DISPLAY 140.***.***.***:0.0
140.***.***.*** 是你現在所在機器的ip.
進入工作目錄後,鍵入xlispstat,則會有以下訊息:
[jasmine][~][6]> cd xlisp
/DATA/84/g8423004/xlisp
[jasmine][~/xlisp][7]> xlispstat ; Enter後,出現以下訊息
XLISP-PLUS version 2.1g
Portions Copyright (c) 1988, by David Betz.
Modified by Thomas Almy and others.
XLISP-STAT 2.1 Release 3.44 (Beta).
Copyright (c) 1989-1994, by Luke Tierney.
; loading "statinit.lsp"
; loading "rcode.lsp"
; loading "/usr/local/lib/xlispstat/Examples/addhandrotate.lsp"
; R-code Copyright (C) 1994, R. Dennis Cook and Sanford Weisberg.
; Type (help 'copyright) to see the license agreement.
; loading "/usr/local/lib/xlispstat/R-code/reg1.lsp"
; loading "/usr/local/lib/xlispstat/R-code/reg2.lsp"
; loading "/usr/local/lib/xlispstat/R-code/reg3.lsp"
; loading "/usr/local/lib/xlispstat/R-code/reg4.lsp"
; loading "/usr/local/lib/xlispstat/R-code/reg5.lsp"
; loading "/usr/local/lib/xlispstat/R-code/overlay1.lsp"
; loading "/usr/local/lib/xlispstat/R-code/overlay2.lsp"
; loading "/usr/local/lib/xlispstat/R-code/overlay3.lsp"
; loading "/usr/local/lib/xlispstat/R-code/rgraph1.lsp"
; loading "/usr/local/lib/xlispstat/R-code/fun1.lsp"
; loading "/usr/local/lib/xlispstat/R-code/fun2.lsp"
; loading "/usr/local/lib/xlispstat/R-code/updates.lsp"
; loading "/usr/local/lib/xlispstat/R-code/v21r3.lsp"
; loading "ALR.lsp"
> ;Xlisp-stat 的command 提示符號
在Xlisp-stat的提示符號後鍵入(exit), 或按Ctrl+D
即可離開Xlisp-stat,回到Unix。
Xlisp-stat 為一互動式(interactive)的程式環境,於命令提示符號後,便可
下指令寫程式,但一離開 Xlisp-stat
後,所有的程式和結果皆會消失。故在進入
Xlisp-stat 之前,就須先把程式寫好。
在工作目錄Xlisp下,用vi或其它文書編輯器,編寫程式,並把程式之副檔名附為
.lsp 。
[jasmine][~/xlisp][8]> vi -l test.lsp
加 -l 是將vi編輯環境設定為適合編輯 lisp
程式的環境,利於括號的檢查。
Note: 程式是否有錯誤,要程式執行之後才知道。
進入 Xlisp-stat 後,在其提示符號後鍵入 (load "test")
就可執行test.lsp。
假如此程式存在子目錄Data下,就鍵入 (load "Data/test") 即可。
若此時有拼字上或其它的錯誤
,則會出現 Error 訊息,再退出 Xlisp-stat 去修改程式,直到
沒有錯誤為止。
想中斷程式的執行,按 Ctrl + C 。
程式及output部分:
想把執行結果存檔起來,準備列印,要先在執行此程式前,先下
(dribble "filename") ,
其中filename為準備把結果存入的檔名,之後執行程式,而以下出現的任何
結果,文字或訊息符號將會被存在filename 中,最後鍵入 (dribble)
表示結束
圖形部分:
Xlisp-stat 的圖形無法直接列印,須先存在一個檔案裡,再列印出來。
在此先說明如何存檔。 Xlisp 所繪的每個圖形視窗上,在右上角有個Menu選單,
在Menu上選擇Save to File\dots,之後,出現一對話視窗,要求輸入欲存的檔名,其
預設名稱為image.ps,請另取一名稱,使其副檔名為.fig,例: plot1.fig。這樣圖形
就存在目前的目錄下了。想存其它的圖形,也是利用同的方法。這樣就可以用xfig來
處理這些圖形了。
若是存成.ps檔,則可直接送至印表機列印,只是一頁只印一個圖形。
程式及output部分:
.lsp檔和(dribble)下來的output檔,可用vi
或其它文字編輯器,作編修而後將之列印
。
於UNIX下
[jasmine][~/xlisp][9]> lpr -Psp1 test.lsp
[jasmine][~/xlisp][10]> lpr -Psp1 output-name
圖形部分:
假使在 xlisp 的目錄下,存有數個副檔名為.fig的圖檔,想一起列印出來,在Unix下
,執行繪圖程式xfig。
[jasmine][~/xlisp][11]> xfig
之後會進入xfig的工作視窗,視窗左方為工具列,上方為功能表列。用滑鼠點取工具列
上的"Eps 圖Object",之後在工作區按住滑鼠左鍵拖曳出一個適當的方框,雙擊滑鼠
左鍵表示完成。接下來出現一視窗,要求輸入圖形檔名,在輸入完畢後,選按Apply或
Done。此時剛開的圖文框會顯現出所輸入的圖形。( Note:
若找不到此圖檔,請於
功能表列選File\dots,改變目錄到此圖形所在的目錄。 )
其它的圖形也是以同樣的方法開圖文
框,將圖放入。等全部完畢後,先將之存檔:選擇File...,並輸入檔名,將目前工作區
所編輯的圖形存檔。再列印:於功能表列選Print\dots。於Printer:輸入 sp1
,之後,按"Print FIGURE to printer",就列印出來了。
Note : xfig繪圖軟體的用法,大家多操作幾遍就可熟悉其功能了。
Message help:
例:列出 R-code 裡 :r-squared訊息的意義和資訊。
> (r-code :help :r-squared)
R-SQUARED
Message args: ()
Returns the sample squared multiple correlation coefficient,
R squared, for the regression.
NIL
Function help: (help 'function)列出function的簡略說明和例子。
例:
> (help 'iseq)
ISEQ [function-doc]
Args: (n &optional m)
With one argument returns a list of consecutive integers from 0 to N-1.
With two returns a list of consecutive integers from N to M.
Examples: (iseq 4) returns (0 1 2 3)
(iseq 3 7) returns (3 4 5 6 7)
(iseq 3 -3) returns (3 2 1 0 -1 -2 -3)
NIL
Key help: 指令(appropos 'key)會列出包含字串key的所有函數,訊息,和物件
名。
例: (apropos 'cdf)
> (apropos 'cdf)
CDF
BIVNORM-CDF
F-CDF
POISSON-CDF
BETA-CDF
BINOMIAL-CDF
T-CDF
CAUCHY-CDF
NORMAL-CDF
CHISQ-CDF
GAMMA-CDF
由現有例子開始
用 R-code 來作regression 問題,在 ALR,RIR及An Introduction to Regression Graphics
中的例子和習題,都有提供現成的程式可用。只要將此程式load進來即可。
把 ALR 中第30頁例子的程式叫出來。
(load-alrdata "alr030")
把 An Introduction to Regression Graphics 中的demo-3d叫出來。
(load-rdata "demo-3d")
由一資料檔開始
在進入 Xlisp-stat 前,利用vi或其它文書編輯器,以column方向輸入數值,即
第一行為第一個變數,第二行為第二個變數,以下類推。輸入完後,將之存檔成副檔名
為.lsp的檔案。進入 Xlisp-stat 後,於命令列鍵入 (rcode) 之後,會出現
一個對話視窗,輸入剛存的資料檔名,接著會出現另一對話視窗,顯示第一個column
的前5個資料值,要求輸入此資料的變數名,等全部的變數定義完後,會出現"
The standard regression dialog",接下來就可作regression的問題了。
Texts
1. An Introduction to Regression Graphics / R. D.Cook and S.Weisberg. New York : Wiley,
c1994。
2. Residuals and influence in regression / R. Dennis Cook and Sanford Weisberg. New York :
Chapman and Hall, 1982.
3. Applied Linear Regression / S. Weisberg. 2nd ed. New York : Wiley, c1985.。
4. Lisp-Stat : an object-oriented environment for statistical computing and dynamic
graphics / Luke Tierney.
New York : Wiley, c1990.。
Sofeware
ftp:eaglet.nova.math.ccu.edu.tw /pub/math/ftp.stat.ucla.edu/umnstat.stat.umn.edu
http://stat.umn.edu/ luke/xls/xlsinfo/xlsinfo.html
http://stat.umn.edu/ rcode/
|