このページは、平成11年6月28日に開設した。
このページは、令和2年5月8日に一部変更した。
これまでのsasプログラムの例は、すべて永久sasファイルを作成したり、それを 用いたものであった。もちろんデータの性質、保存データの有無、解析の目的など により、永久 sas ファイルは不要であるような場合も多々あろう。例4は、そのよう な例の1つである。明らかに libname 文もないし、sas ファイル名も2レベルでなく 1レベルのみから成り、従って第1レベル名(ライブラリ参照名)はない。
このプログラムは、5.1節の Figure 5.1 の B 方式に該当するもので、まず data ス テップで input 文に do 文を組合せてデータ入力を工夫し、一時sasファイル work.rb4 を作成する。第17行目の input 文の中の @ は、
00001 *------------------------------------------* 00002 | June 2 8, 1999 00003 | sas program--anova.exam3-- 00004 | example 3 of a sasprogram for anova procedure, especially 00005 | randomized block design with four levels (RB-4) of a main factor, 00006 | A. The block factor which is considered as a nuisance factor is 00007 | B with three levels. Data is an artificial one. 00008 | In this case, only the manner of reading the raw data is 00009 | different from the sasprog¥anova.ex2. 00010 | 00011 | file name: a:¥sasprog¥anova.ex3 00012 | 00013 *---------------------------------------------*; 00014 data rb4; 00015 do angle=1 to 4; 00016 do length=1 to 3; 00017 input pse @; 00018 output; 00019 end; 00020 end; 00021 label angle='level of angle of inward arrow' 00022 length='level of length of inward arrow' 00023 pse='point of subjective equality in cm'; 00024 cards; 00025 30 32 33 00026 22 24 24 00027 20 21 22 00028 19 20 23 00029 ; 00030 options pagesize=66; 00031 proc format; 00032 value angfmt 1='15 degree' 2='22.5 degree' 00033 3='30 degree' 4='60 degree'; 00034 value lenfmt 1='30 mm' 2='45 mm' 3='60 mm'; 00035 run; 00036 title 'the sas anova procedure for RB-4 miller lyer data'; 00037 proc anova data=rb4; 00038 class angle length; 00039 model pse=angle length; 00040 format angle angfmt. length lenfmt.; 00041 means angle length/lsd; 00042 means angle length/tukey; 00043 run; |
2.2.3 で述べた行保持指示子の1つである後置 @ であり、データの各観測値 (sas では、1人分の複数の観測値を指す)の実行中のみ有効となる。 また output 文は、観測値を sas/ds に書き出すことを指示している。
次にこのプログラムでは、data ステップで sas/ds に書き出したデータの中の2つ の定性変数である角度条件 angle 及び長さ条件 length の各変数のコード値とカテ ゴリーラベルを、format プロシジャにより定義する。 5.3.2で既に述べたように、 この例ではオプションを全く指定していないので library=ライブラリ参照名も 指定していないことになり、ここで作成される sas フォーマットは一時的 sas フォ ーマットということになる。
このプログラムでは、最後に anova プロシジャで、2次元配置の単純な分散分析 (randomized block design) を行っている。もちろんデータは、第37行目の同プ ロシジャのオプションで data=rb4 とすることにより、data ステップで作成した 一時 sas ファイルの1レベル指定により指定している。