トラブル
[Q] より新しいバージョンで出力した結果出力ファイルが,古いバージョンのSPSSで読めない
[A] 仕様。読めることもあるが,原則的には下位バージョンでの互換性は保たれていない。とくに16からは拡張子も変更され,まったく別の出力方式になっている
[Q 14以前] SPSS15で作成したデータファイル(sav形式)がSPSS14までの古いバージョンのSPSSで読めない
[A] 7.5以降14まではほぼ下位バージョンでも開けましたが,15では内部の仕様変更があったのかもしれません。開ける場合もありますが,ダメなこともあります。save outfileシンタックスで作成したものでも同様です。しかしSPSS15に附属のCommand Syntax Reference p1583には
「VERSIONサブコマンドを指定しない場合,数値を指定しない場合はデフォルトの3が適用される,この場合,作成されたファイルは7.5よりも前のバージョンでは読むことができない(原文は英文)」と記されています。記述に従えば/VERSION=3が適用された場合,7.5〜14までのSPSSでは読めるはずです。このあたりはCommand Syntax Referenceの記述の誤りかもしれません。
複数のバージョンの利用者間でデータをやりとりする時は,テキスト(CSV)やExcelなどの形式にした方が安全。
[AMOS7] SPSS14までのバージョンで作成したデータファイル(sav形式)がAMOS7で読めない
[A] 古いバージョンのSPSSには対応していないようです。一時ファイルに保存できない旨を示すエラーが出たり,「オブジェクト参照がオブジェクトインスタンスに設定されていません」などというエラーが出て止まってしまうことがあります。他の形式(Excelなど)にファイルを変換すれば読めます。
確認されたエラーの例(SPSS11.5で作成したsavファイルを読ませようとした結果)
(hogeの部分は環境やモデルなどによって異なる)
グループhogeのデータをファイルC:\Documents and Settings\...Local Settings\Temp\Amos Temp\processHoge\yyyda.tmpへ書き込み中,エラーが発生しました。
グループhogeに含まれる欠損値を確認中にエラーが発生しました。
テンポラリデータファイルを書き込み中にエラーが発生しました。
グループhogeに対する飽和モデルを適合中にエラーが発生しました。
カイ2乗統計量を計算することができません。
テンポラリデータファイルを書き込み中にエラーが発生しました。
グループhogeに対する独立モデルを適合中にエラーが発生しました。
’ベースラインモデル’に必要とされる測度を計算することができません。
テンポラリデータファイルを書き込み中にエラーが発生しました。
[Q 7.5 TO 9.0] Excel形式で保存してあるデータファイルがSPSSで読み込めない
[A] SPSS9.0まではExcel Ver4のワークシート形式までしか対応していない。よってExcel上で[ファイル]-[名前を付けて保存]で[ファイルの種類]欄を[Microsfot Excel4.0ワークシート(*.xls)]にしなければならない。(ちなみに[Microsfot Excel4.0ブック(*.xlw)]ではだめ)。
その上でSPSSで[ファイル]-[開く]で[ファイルの種類]欄を[Excel(*.xls)]に指定して開く。
(たぶん,5.0以降は*.xlsのファイルでブック形式となったため,複数のワークシートが1つのファイルに含まれてしまい対応できないのではないか?)
[Q 7.5/8.0] Excel4形式のファイルをSPSSで読み込むと,英数文字ANKの変数名しか使われていなくても,次のような警告がでる
Warning # 6465
ワークシートにサポートされない文字グループがあります。
特殊文字はおそらく正確に変換されません。
[A] SPSSが過剰反応した結果であり,無視して構わない(?!)そうです
ちなみに,8.0Jからは日本語変数名がサポートされています。
[Q 8.0] 出力ナビゲータ(*.SPO)でテキスト部分を編集後,印刷プレビューしてから,この出力を保存しようとしたら,「ドキュメントの保存に失敗しました」と表示され保存できなくなってしう。
[A] Windows95のバージョンを4.50.950から「サービスパック1」で4.50.950aにアップグレードしたところ解決しました(NEC PC9821Xa13の場合)。
(7.5では発生しないトラブルだったのですが,何が変わったのか謎です)
※これは本当に分からなくて苦労しました。サポートでも全く再現出来ないとのことで,両方で頭抱えてました(^^;
[Q]一変数のテキストデータの読み込みをしたところ以下のエラーになってしまいその後再度読み込もうとしても「データ入力ファイルを読み込めません」となってしまう。さらにSPSSを終了すると再度起動できなくなる。
>Error # 4096. Command name: EXECUTE
>常設辞書が定義されていません。上記の変数変換でアクセスされる変数が定義
>されていません。
>This command not executed.
[A]一変数データで,ファイル先頭に変数名を含むデータで次の操作をすると発生する
テキストインポートウィザードのステップ2/6で「元データの形式」を「自由書式」,ファイルの先頭に変数名を含んでいますか?に「はい」,ステップ4/6で「変数間に私用する区切り記号」に何も指定しないとこのエラーになる
正しくは,ステップ2/6で「固定書式」を選び,(ファイル先頭に..は「はい」のまま)
ステップ4/6で変数の分割点を指定せず(左端に↑印が一つだけある状態)で次へ進む。
※「自由書式」「固定書式」ともにステップ6/6(最終ステップ)での「次へ」ボタンを押しても何も起こらない(ダミーボタン?)。最終ステップを終えるには「完了」ボタンを押す。
ヒント
[Q] HALBAU形式のテキストファイルを読み込むのによい方法は?
[A] Excel4形式にいったん保存するのが一番やりやすい。
「ファイル-ASCIIデータの読み込み」があるが自由書式-カンマまたはスペース の場合,変数名を一つ一つ指定しないとならない。「固定書式」ではさらに,各変数ごとでのカラム位置を書かなくてはならない(一気に指定できないし,ファイル側に変数をあらかじめ置いておくこともできない)ので,大変。
[Q] 固定長テキストファイルを読み込むのによい方法は?
[A] コマンドシンタックスで,Fortran様式のフォーマットで一気に読み込むのがコツ!
SPSS9からはファイル-テキストデータの読み込み でテキストインポートウィザードが使えるので,比較的容易に読み込める
[例]
1行目:番号,年齢,50変数(a1〜a50)
2行目:30変数(b1〜b30) の場合
SET
BLANKS=SYSMIS
UNDEFINED=WARN.
DATA LIST
FILE='d:\mydata.dat' FIXED RECORDS=2 TABLE /
no,age,a1 to a50,b1 to b30
(F4.0,1X,F2.0,1X,50F2.0/30F2.0) .
EXECUTE.
******↑ここまでで読み込みは完了する*******
******↓ラベルまで設定してしまうと後が楽***
VARIABLE LABELS
no '番号'/ age '年齢'/.
EXECUTE.
******↓さらに欠損値が異なるコードの場合の処理もしてしまう方がよい***
******ここでは欠損値が-1となっていたのをすべてシステム欠損値に変換***
RECODE
no,age,a1 to a50,b1 to b30
(-1=SYSMIS) .
EXECUTE .
[Q] SPSSファイルを固定長テキストファイルに変換保存したい
[A] ファイル-名前を付けて保存画面で,[ファイルの種類]をASCII固定長ファイルにする
ただし,システム欠損値は空白として保存されてしまうので,前もってSPSS内でに別の値を与えておく方がよい。また変数間は区切れなく保存されてしまう。変数間に区切りを入れたいときはコマンドシンタックスでFORTRAN形式のフォーマットなどを使う
[Q] 計算結果の出力内容をテキストファイルにしたい
[A] FILE-エキスポートを用いる。 デフォルトでは「ファイルの種類」がHTMLファイルで出力されてしまうので,必ずテキストファイルに指定を変更する必要がある
またオプションで区切り文字をデフォルト(-|の罫線)のままにしておくと,うるさい
(基本的には出力ナビゲータをそのままオブジェクトとして他のアプリケーションで使えるというのが7.5以降のご自慢の機能なので,テキスト出力はオマケに近いらしい。けどナビゲータは日本語文字が欠けたり出力が隠れてしまったりするし,出力情報を取捨選択して使うためにはテキストファイル出力の方が遙かに便利と,個人的には思う)
[Q] 出力をエキスポートしたときセパレータ(罫線テキスト)をなくしたい
[A] エキスポート画面のオプションで「セパレータ」にスペースを入れる(何も入れないと自動的に|や-が挿入されてしまう)
[Q] キー変数に欠損値がある場合のファイル結合(変数追加)の際の注意
update
[A] [データ]-[ファイルの結合]-[変数の追加] では「キー変数によるケースの結合」が出来る。キー変数として指定した変数値が一致したケースについて,変数を結合してくれる。しかし,キー変数に複数ケースの欠損値が含まれていると次のようなエラーになり正しく結合されない。
>ファイルの中にキーが重複して使われています。表示されたファイル上におい て、BY
>変数はそれぞれのケースを個別なものとしては認識できません。結果を
>注意深く調べてください。
複数の欠損値が「同一値」と見なされてしまい,ケースを識別できないために発生する
システム欠損値の替わりにケースによって異なるダミー値(9991,9992,9993...など)を入れておくことで回避できる。
(同じ値を入れても,識別できないので,必ずそれぞれ違う値を入れる)
戻る|
トップへ