SPSS備忘録 -30ページ目

ワイルドカードはありません(SPSS)

先日、文字型変数の短文から指定のキーワードが入っているケースを抽出する方法を聞かれました。


Windowsやデータベースの検索機能では、ワイルドカード (wild card)を用いることで、指定語の前後をあいまいにして「一部のキーワードが含まれる言葉」をヒットさせることが出来ます。しかしSPSSにワイルドカードはありません。


厳密に言うと、SPSSのメニュー、[編集]→[検索]でピックアップすることは出来るのですが、これを用いて分析用データを作成するのは大変手間がかかると思われます。


検索


必要なケースを検索語の一部のみで抽出までする機能は、SPSS15.0にはありません。SPSSも(必要なのか不明な)バージョンアップのたびに機能が追加されるため、なんとなくこういうことも出来るような気にはなるのですが、本来は「統計ソフト」です。つまり計算するソフトです。だからデータの格納やそれを検索する機能はもともと必要ではなかったのです。


とはいえ、機能拡充の過程で、確かにこれが出来ればなお便利とは思うので、いずれはそういう機能が追加されるといいですね。


その日がくるまでは他の機能の組み合わせで対処します。変数の計算関数「INDEX(変数,"検索語")」で「変数に"検索語"が登場した場合、その文字位置数を返す」ことができますので、これを利用します。


SPSSのメニュー、[データ]→[ケースの選択]をクリックします。


[ケースの選択]ダイアログにて、[選択状況]枠[IF条件が満たされるケース]の[IF]ボタンをクリックし、


INDEX(都道府県,"島") >= 1


と設定し、[出力]枠で、選択されなかったケースを残す場合は[選択されなかったケースを分析から除外]、選択されなかったケースを削除する場合は[選択されなかったケースを削除]を選択し、[OK]をクリックして実行します。


INDEX関数

これにより、変数「都道府県」に「島」がつくケースのみ選択されます。「>=1」としたので何文字目が「島」なのかは関係なくなりますので、「島根県」も「福島県」も「鹿児島県」もヒットします。


条件抽出

次回 はこれをClementineで行います。

行と列の入れ替え(Clementine)

10月26日の記事 の続きで、Clementineで行と列の入れ替えを行います。


データマイニングツールも、データベースと同様に列(フィールド)単位で設問項目をまとめ(統計ソフトで言うところの「変数」)、個別の調査内容を行(レコード)に入力していきます(統計ソフトで言うところの「ケース」)。


使用前


前回同様、統計やデータベースというものをわからない人から、上記のように見事にフィールド(列)とレコード(行)が逆に入力されているデータが渡されることがあります。


しかし慌てる必要はなく、Clementine11.1でも行と列を入れ替えて分析できる状態にすることができます。


ダイアログ


ノードパレットの[フィールド設定]タブから[行列入替]ノードをストリームに組み込みます。


今回のデータは「市名」フィールドが入れ替え後のフィールド名に使えるので、このフィールドを[フィールドから読み込み]に設定し、[値の読み込み]ボタンをクリックします。フィールド名に使えるフィールドがない場合は[接頭辞を使用]を選択し、入れ替わった後のフィールド数を[新規フィールド]に指定します。

今回のデータは残り全てのフィールドをレコードに入れ替えるので、下段の[行列入替]の設定はしなくてもいいのですが、ここで入れ替えるフィールドを限定することも可能です。


使用後

ストリームを実行すると、行と列が入れ替わり、分析が出来るようになります。

行と列の入れ替え(SPSS)

統計ソフトは、データベースと同様に列(上のグレーの「var」から縦に見ていく)単位で設問項目をまとめ(変数)、個別の調査内容を行(横のグレーの数字から右に見ていく)に入力していきます(ケース)。


使用前


にもかかわらず、統計やデータベースというものをわからない人から、上記のように見事にそれが逆に入力されているデータが渡されることがあります。

しかし慌てる必要はなく、SPSSでは行と列を入れ替えて分析できる状態にすることができます。


SPSSのメニュー、[データ]→[行と列の入れ替え]をクリックします。


ダイアログ


左の変数リストから、変数名に使いたい値が入っている列を[変数名に使用する変数]に移します(省略可)。行に持っていきたい列を[変数]に移動します。ここで残した列は変換後に残りません。


[OK]で実行すると、行と列が入れ替わり、分析が出来るようになります。


使用後


余談ですが、政令指定都市って2007年ではかなりあるのですね。まあ世田谷区(85万人)より人口の少ない県がいくつもあるのですから、戦後何十年でずいぶん立場がねじれてしまっていますよね。


次回 はこれをClementineで行います。