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"
Здесь также следует учитывать различие между численными и строковыми переменными.