SPSS なしで .sav が扱いにくい理由
.sav ファイルには変数ラベル(「Q4:総合満足度」)、値ラベル(1 =「まったくそう思わない」)、欠損値の定義が含まれています。不用意に CSV へ変換すると、意味のないコードだらけの表が残ります。調査会社や大学がこの形式を使い続けるのは、まさにこのメタデータがあるからです。
Crosstabs はファイルを直接読み込みます。開いた時点で表のカテゴリは言葉で表示され、変数には設問文が付き、システム欠損値と数値のユーザー欠損値(97〜99 のような範囲も含む)は通常の欠損値処理に組み込まれます。.zsav と .por ファイルも読み込めます。
保たれるもの・保たれないもの
ファイルはすべてブラウザ内で処理され、どこにも送信されません。回答者単位の生データでは、これが決め手になることが多いはずです。
- 変数ラベルは変数名の横とデータ辞書に表示されます。
- 値ラベルが適用され、コード 1 はそのラベルで表示されます。
- 数値のユーザー欠損値とその範囲、システム欠損値も引き継がれます。
- .sav として保存できます。データの書き出しは、リコード後も含め、すべての変数と行をラベル、測定水準、欠損値つきで書き出します。
- 文字列変数の欠損値定義は、ベースを黙って変えて取り込むのではなく、説明つきで拒否されます。
- 非常に古い、または特殊な .sav は失敗することがあります。その場合は SPSS か PSPP で保存し直すか、CSV を使ってください。
無料の選択肢の比較
GNU PSPP は SPSS を模した無料のデスクトップソフトで、既存のシンタックスファイルを実行できます。R の haven パッケージや Python の pyreadstat も .sav を確実に読めますが、プログラミングが前提です。Crosstabs はインストール不要の方法です。ファイルを開き、表を作り、書き出すだけです。
集計表以外の SPSS の手続きが必要な場合も、Crosstabs の統計モードが平均値の比較から回帰分析まで、さらに多くのコマンド群をブラウザ内で扱います。
計算例
計算例:ユーザー欠損値の有無で何が変わるか
コード 1〜5 の賛否を問う設問に 12 件の回答があり、97(わからない)と 99(無回答)は .sav ファイルで欠損値として定義されています。定義を引き継ぐと有効回答は 10 件。70.0% が「そう思う」か「とてもそう思う」と答え、有効回答の平均は 3.70 です。
不用意な CSV 変換では定義が失われます。すると 97 と 99 が尺度値として計算に入り、「平均」は 1〜5 の尺度なのに 19.42 になります。パーセントのベースもすべて誤りで、10 ではなく 12 になります。
| コードと値ラベル | 度数 | 有効パーセント |
|---|---|---|
| 1 = まったくそう思わない | 1 | 10.0% |
| 2 = そう思わない | 1 | 10.0% |
| 3 = どちらともいえない | 1 | 10.0% |
| 4 = そう思う | 4 | 40.0% |
| 5 = とてもそう思う | 3 | 30.0% |
| 97、99 = 欠損値(ユーザー定義) | 2 | – |
| 有効ベース | 10 | 100.0% |
説明用の合成回答データ。パーセントと平均はコード内で計算しています。