spssシンタックス例



ver 4.0 ユニックス版用の簡略説明を以前に書いたのでそれを小修正して載せます。

1.基本

1.1 SPSS コマンドファイル例
1.2 SPSSのファイルの呼び方
1.3 SPSSコマンドファイル中のコマンドタイプ
1.4 SPSSコマンドファイルの基本構造
1.5 SPSSコマンドファイルをつくる・修正する
1.6 SPSSコマンドファイルを走らせる
1.7 結果を見る
1.8 課題

1.1 SPSS コマンドファイル例

nyusi.sps


全角文字を使い,正しく見えるようにしているので,コピーする場合,下の2つめのコマンドをコピーしてください。

見るためのコマンドファイル
SET MXMEMORY=140000.
TITLE 入試データの処理 1991.7.
DATA LIST /
   NO 1-2 KOKUGO SUGAKU EIGO 3-14 SEX 17 GENEKI 19.
BEGIN DATA
01 20 50 80 1 2
02 70 60 20 1 2
03 40 70 90 2 1
04 45 70 30 1 1
05 58 75 40 2 1
06 58 30 60 2 2
07 55 70 50 1 2
08 30 80 60 1 1
09 70 20 65 2 1
10 75 35 80 2 2
11 55 90 30 1 1
12 95 100 85 1 1
13 90 80 100 2 2
14 55 20 60 1 2
15 20 90 60 1 1
16 60 55 70 2 1
17 75 50 60 1 2
18 60  5 55 2 2
19 20 40 30 1 2
20 35  0 35 2 2
END DATA.
VALUE LABELS SEX 1 'MALE' 2 'FEMALE'/
       GENEKI 1 '現役' 2 '浪人'
.
COMPUTE GOKEI=KOKUGO+SUGAKU+EIGO.
DESCRIPTIVE KOKUGO SUGAKU EIGO GOKEI.

コピーするためのコマンドファイル nyusi.sps
全角空白は使っていません。
SET MXMEMORY=140000.
TITLE 入試データの処理 1991.7.
DATA LIST /
NO 1-2 KOKUGO SUGAKU EIGO 3-14 SEX 17 GENEKI 19.
BEGIN DATA
01 20 50 80 1 2
02 70 60 20 1 2
03 40 70 90 2 1
04 45 70 30 1 1
05 58 75 40 2 1
06 58 30 60 2 2
07 55 70 50 1 2
08 30 80 60 1 1
09 70 20 65 2 1
10 75 35 80 2 2
11 55 90 30 1 1
12 95 100 85 1 1
13 90 80 100 2 2
14 55 20 60 1 2
15 20 90 60 1 1
16 60 55 70 2 1
17 75 50 60 1 2
18 60 5 55 2 2
19 20 40 30 1 2
20 35 0 35 2 2
END DATA.
VALUE LABELS SEX 1 'MALE' 2 'FEMALE'/
GENEKI 1 '現役' 2 '浪人'
.
COMPUTE GOKEI=KOKUGO+SUGAKU+EIGO.
DESCRIPTIVE KOKUGO SUGAKU EIGO GOKEI.


1.2 SPSSのファイルの呼び方

 コマンドファイル  
 入力データファイル DATA LIST FILE=,で取り扱うファイル
 出力データファイル WRITEなどのOUTFILEで取り扱うファイル
 システムファイル  GET, SAVE で取り扱うファイル

 コマンドファイル

  DATA LIST FILE=INDATA…      入力データファイル
  (または GET FILE=SYSDATA)
  WRITE OUTFILE=OUTDATA…      出力データファイル
  SAVE OUTFILE=SYSDATA…       システムファイル

1.3 SPSSコマンドファイル中のコマンドタイプ

 ジョブコントロール  SET,TITLE,EDIT
 データ定義      DATA LIST,VAR LABELS,VALUE LABELS,MISSING VALUE
 データ変容      RECODE,COMPUTE,IF
 課題定義       FREQUENCIES,CROSSTABS,FACTOR,DESCRIPTIVES
 ファイル管理コマンド GET( FILE),SAVE( OUTFILE)
 
 コマンド=コマンド・キーワード+明細指示
注意:SPSSのコマンドの最後に.を入れる
 72桁まで有効.

1.4 SPSSコマンドファイルの基本構造 

───────────────────────────
  ┌──────────────────┐
(0)│ SET MXMEMORY=140000.        │ 使用するメモリを拡大しておく。(jobに応じて数を指定)
  └──────────────────┘
  ┌──────────────────┐
(1)│ TITLE 入試データの処理 1991.7.   │  タイトル
  └──────────────────┘
  ┌──────────────────┐
(2)│ DATA LIST /            │  データ定義
  │  NO 1-2 KOKUGO SUGAKU EIGO 3-14 │   変数名 カラム
  │  SEX 17 GENEKI 19.        │
  └──────────────────┘
  ┌──────────────────┐
(3)│ BEGIN DATA             │  データ
  │ 01 20 50 80 1 2        │
  │ 02 70 60 20 1 2        │
  │ 03 40 70 90 2 1        │
  │ 04 45 70 30 1 1        │
  │ 中略                │
  │ 19 20 40 30 1 2        │
  │ 20 35  0 35 2 2        │
(4)│ END DATA.             │
  └──────────────────┘
  ┌──────────────────┐
(5)│ MISSING VALUE SEX,GENEKI(0)    │  欠損値の定義(データ定義)
  │        KOKUGO TO EIGO(-1). │
  └──────────────────┘
  ┌──────────────────┐
(6)│ COMPUTE GOKEI=KOKUGO+SUGAKU+EIGO. │  合成データ(データ変容 )
  └──────────────────┘
  ┌───────────────────────┐
(7)│ VAR LABELS KOKUGO "国語"/          │ 変数ラベル
  │      SUGAKU "数学"/          │  (データ定義)
  │      EIGO  "英語"/          │
  │      GOKEI "国語、数学,英語の合計点"/ │
  │      SEX  "性別"/          │
  │      GENEKI "現役・浪人".       │
  └───────────────────────┘
  ┌──────────────────┐
(8)│VALUE LABELS            │  変数値のラベル付け
  │   SEX 1 'MALE' 2 'FEMALE'/    │  (データ定義)
  │   GENEKI 1 '現役' 2 '浪人'.   │
  └──────────────────┘
  ┌────────────────────┐
(9)│ DESCRIPTIVES KOKUGO SUGAKU EIGO GOKEI. │  記述統計(課題命令)
  └────────────────────┘
───────────────────────────

(1) タイトルをつける。最後は 《.》 (なくてもOKだがつける習慣をつけよう)


(2) DATA LIST 変数名とその変数の書いてあるカラムを指定する。

  SPSSシステムファイルの場合、 GET FILE するだけでいい。
  データ窓にすでにデータがある場合はいらない。

(3) データ部。最初に《BEGIN DATA》 終わりに《END DATA.》

  ファイルから読み込む場合は、DATA LIST FILE ='ファイル名' でファイルを指定しておく。(大きなデータの場合は、ファイルから読み込むほうが普通)

(4)略

(5) 欠損値の定義。(データを読み込んだすぐ後に定義しておく。)

  (注意)合成値やデータ変容のときに欠損値かどうかで結果が違ってくる。

(6) 合成データをつくるときや、データを変容する場合の命令。必要な場合につけ

る。
  SPSSの超ベンリは RECODE


例1
(a) RECODE KOKUGO (0 THRU 59=1)(60 THRU 69=2)(70 THRU 79=3)(80 THRU HI=4)
     INTO KOKUGO2.
(b) VALUE LABELS KOKUGO2 1 "不可" 2 "可" 3 "良" 4 "優".
  (a)新変数の値を変更する。  《THRU》《HI》《LO》《ELSE》《MISSING》
   《INTO 新変数名》
  ┌──────────────────────────────────┐
  │ RECODE 変数リスト (値リスト=値)....(値リスト=値) [INTO 変数リスト] │
  │     [/変数リスト...].                     │
  └──────────────────────────────────┘
  キーワード LO,LOWEST,HI,HIGHEST,THRU,MISSING,SYSMIS,ELSE

  (b)新変数の値の意味を記述しておく。

例2
(c) RECODE KOKUGO2 (1=1)(2,3,4=2) INTO KOKUGO3.
(d) VALUE LABELS KOKUGO3 1 "不合格" 2 "合格".

(7) VAR LABELS 変数の意味をわかりやすくする(なくてもいい) 

  ┌─────────────────────┐
  │ VAR LABELS 変数名 "ラベル" [/変数名 ...].│
  └─────────────────────┘

(8) VALUE LABELS 質的データの場合、これをつけておくと、いろいろ便利。

   変数ごとに 《/》できること。
  ┌──────────────────────────────────┐
  │ VALUE LABELS 変数リスト 値 "ラベル" 値 "ラベル" ...[/変数リスト] . │
  └──────────────────────────────────┘

(9) 統計の命令。統計以外の命令もある。SPSSの書式に従う。

  コマンド・キーワード とその統計をする変数、オプションなどを記述する。
  DESCRIPTIVES 変数名 / STATISTICS= MEAN MIN STDDEV MAX
                   VARIANCE SUM RANGE.
  と統計をあとで記述する。MEAN MIN STDDEV MAX は 既定値(指定しない場合は
  これを出力)、その他の統計も出力する場合、その統計を記述する。
  すべての統計を出力する場合は、《/STATISTICS=ALL.》
 ┌──────────────────────────┐
 │ DESCRIPTIVE 変数リスト[(zname)][/STATISTICS 統計] │
 │     [/SAVE][/SORT= MEAN] [(A)(D)] .      │
 └──────────────────────────┘



1.5 SPSSコマンドファイルをつくる・修正する



1.6 SPSSコマンドファイルを走らせる

  (a)シンタックス窓に上のsample.sps を入れる。
    ctrl+a ctrl+r
  (b)バッチ機能でファイルを指定し実行

1.7 結果を見る


1.8 課題

(0)プログラムにバグがないかチェック。

 (a)全角空白をないようにする。
 (b)コマンドの最後に《.》がないか。
 (c)タイプミスはないか。
 など

(1)先の仮想入試データの国語、数学、英語、合計点の平均値、標準偏差、最小値、

最大値を求めよ。(SAMPLE.SPS を走らせる)
  (a)エラーがあれば、そのメッセージからバグをさがす。
   (イ)修正
   (ロ)再度、1.5、1.6
   (ハ)結果の確認。エラーがあれば→(a)へ

(2)平均値と標準偏差だけをだす。

 (a) DESCRIPTIVES 変数リスト/STATISTICS MEAN STDDEV
    に修正
 (b) 再度走らせる。1.5,1.6
(c) エラーがあれば、(1)(a)

(3)国語と英語だけの平均値と標準偏差をだす。