7.1.6 Ввод условного выражения
Теперь попробуем снова выполнить отбор, но в этот раз будем выбирать только респондентов-женщин. Выполните следующие действия:
Перенесите переменную sex в редактор условий, дважды щелкнув на ней или выделив ее и щелкнув на кнопке с треугольником.
Щелкните на кнопке со знаком равенства на клавиатуре. Этот знак будет скопирован в редактор условий.
Щелкните на кнопке 1 на клавиатуре. Знак будет скопирован в редактор условий. Вид диалогового окна показан на рис. 7.3.
Условие имеет вид sex = 1, то есть будут выбраны все наблюдения, для которых переменная sex имеет значение 1 (женский).
Рис. 7.3: Условие в редакторе условий
Подтвердите выбор кнопкой Continue (Продолжить). Вы вернетесь в диалог Select Cases. Однако теперь в диалоговом окне появилось условие sex = 1.
Щелкните на кнопке ОК. Вы снова окажетесь в редакторе данных.
Примечание: Выбранные опции соответствуют следующему командному синтаксису:
SELECT IF sex = 1.
EXECUTE .
Теперь фильтрация наблюдений включена. О том, что отбор, заданный с помощью диалоговых окон осуществлен свидетельствует сообщение Filter on (Фильтр включен), которое появляется в строке состояния в нижней части окна SPSS. Система создает переменную filter_S. Это численная переменная с длиной один байт. Она имеет следующие метки значений: 0 = Not Selected (Не выбрано), 1 = Selected (Выбрано), так как нуль обозначает ложь (false), а единица — истину (true). При всех последующих операциях будут учитываться только наблюдения, для которых значение этой переменной равно 1, то есть те, для которых выполняется условие sex = 1. Номера неотобранных наблюдений отображаются зачеркиванием в левом крае редактора данных. Теперь проведем частотный анализ переменной partei. Мы получим следующий результат:
Партия
|
|
Frequency |
Percent |
Valid Percent |
Cumulative Percent |
Valid |
ХДС/ХСС |
5 |
33,3 |
35,7 |
35,7 |
|
СДП |
1 |
6,7 |
7,1 |
42,9 |
|
сдпг |
4 |
26,7 |
28,6 |
71,4 |
|
Зеленые/Союз 90 |
2 |
13,3 |
14,3 |
85,7 |
|
пдс |
1 |
6,7 |
7,1 |
92,9 |
|
Прочие |
1 |
6,7 |
7,1 |
100,0 |
|
Всего |
14 |
93,3 |
100,0 |
|
Missing Total |
нет данных |
1 15 |
6,7 100,0 |
|
|
Из 30 наблюдений файла wahl.sav условие отбора выполняется в 15 наблюдениях; для них sex = 1. Эти 15 наблюдений и учитываются при частотном анализе переменной partei. Для одного из отобранных наблюдений данных о партии нет.
Обратите внимание, что фильтр действует и при остальных статистических процедурах. Команда SPSS SELECT IF или соответствующие настройки в диалоговых окнах фильтруют наблюдения постоянно, то есть до тех пор, пока фильтр не будет удален или деактивирован. Чтобы удалить фильтр, поступите следующим образом:
Щелкните на имени переменной filter_$. Весь столбец будет выделен.
Нажмите клавишу <Backspace>. Переменная фильтра будет удалена.
Если требуется не удалять фильтр, а лишь временно деактивизировать его, выполните следующие действия:
Выберите в меню команды Data (Данные) elect Cases... (Выбрать наблюдения)
В диалоговом окне Select Cases щелкните на кнопке All cases (Все наблюдения). Условие фильтра будет деактивировано, однако переменная filter_S сохранится. В любой момент ее можно будет активизировать снова.
На уровне синтаксических команд отбор можно выполнить при помощи единственной процедуры, которая показана ниже. Для этого применяется команда TEMPORARY:
TEMPORARY.
SELECT IF sex = 1. FREQUENCIES VARIABLES = partei.
Временный фильтр можно ввести только вручную в редакторе синтаксиса SPSS; через диалоговые окна этого сделать невозможно. Этот пример показывает, что непосредственный ввод команд в редакторе синтаксиса имеет некоторые преимущества. Об этом мы еще расскажем в главе 26 (Программирование).
При вводе команд в редакторе синтаксиса следует обращать внимание на различие между численными и строковыми переменными.
Численная переменная:
SELECT IF sex = 1.
Строковая переменная:
SELECT IF fragebnr = "W-001".
Для строковых переменных (как fragebnr (код анкеты) в этом примере) следует применять простые или двойные кавычки. Слова SELECT IF необходимы только при непосредственном вводе команды в редакторе синтаксиса; та же самая строка в редакторе условий диалога Select Cases: If будет более компактной:
sex = 1 ИЛИ
fragebnr = "W-001"
Здесь также следует учитывать различие между численными и строковыми переменными.