7.5. Примеры отбора данных 
Здесь мы представим некоторые примеры отбора данных. Рассмотрим следующие условия:
 
1. Требуется отобрать только респондентов-мужчин. В редакторе условий вводится следующая строка:
 
sex  =  2
 
Эту строку можно набрать непосредственно или перенести с помощью кнопки с треугольником и кнопок клавиатуры.
 
2. Требуется отобрать только респондентов-женщин, которые голосовали за ХДС/ХСС. В редакторе условий вводится следующая строка:
 
sex = 1 & partei = 1
 
ИЛИ
 
sex = 1 AND partei = 1
 
Обратите внимание на значение переменной фильтра в наблюдении 22 (fragebnr = 0-007). Здесь это системное пропущенное значение. В этом случае SPSS не может сделать никакого вывода об истинности, так как переменная partei имеет значение О = нет данных или данные не введены. Поэтому условие sex =1 & partei = 1 в наблюдении 22 нельзя проверить на истинность. Оно может быть как истинным, так и ложным. Для такого неопределенного случая SPSS присваивает переменной filter_$ системное пропущенное значение.
 
Следовательно, таблицу истинности можно дополнить случаем отсутствующих значений:
 
Конъюнкция
 
| 
 
Логическое выражение
 
 | 
 
Результат
 
 | 
 
| 
 
true AND true
 
 | 
 
true
 
 | 
 
| 
 true AND false
 
 | 
 
false
 
 | 
 
| 
 
false AND true
 
 | 
 
false
 
 | 
 
| 
 
false AND false
 
 | 
 
false
 
 | 
 
| 
 
true AND missing
 
 | 
 
missing
 
 | 
 
| 
 
false AND missing
 
 | 
 
false
 
 | 
 
| 
 
missing AND missing
 
 | 
 
missing
 
 | 
 
 
Дизъюнкция
 
| 
 
Логическое выражение
 
 | 
 
Результат
 
 | 
 
| 
 
true OR true
 
 | 
 
true
 
 | 
 
| 
 
true OR false
 
 | 
 
true
 
 | 
 
| 
 
false OR true
 
 | 
 
true
 
 | 
 
| 
 
false OR false
 
 | 
 
false
 
 | 
 
| 
 
true OR missing
 
 | 
 
true
 
 | 
 
| 
 
false OR missing
 
 | 
 
missing
 
 | 
 
| 
 
missing OR missing
 
 | 
 
missing
 
 | 
 
 
Отрицание:
 
| 
 
Логическое выражение
 
 | 
 
Результат
 
 | 
 
| 
 
true
 
 | 
 
false
 
 | 
 
| 
 
false
 
 | 
 
true
 
 | 
 
| 
 
missing
 
 | 
 
missing
 
 | 
 
 
Если результат логического выражения равен missing (отсутствует), то данный случай, как и при результате false, не учитывается при дальнейшей обработке.
 
3. Требуется отобрать только респондентов, имеющих возраст от 40 до 60 лет включительно.
 
alter   >=   40   &   alter   <=   60
 
ИЛИ
 
alter   >=   40   AND   alter   <=   60
 
Более изящным будет применение здесь функции 
 
RANGE:
RANGE    (alter,    40,    60). 
4. Требуется отобрать только респондентов-женщин, которые старше 60 лет. sex   =1   &   alter   >   60 ИЛИ sex   =1   AND   alter   >   60.
 
5. Требуется отобрать только респондентов-мужчин, возраст которых не превышает 25 лет и которые голосовали за СДПГ. При формулировке условия не старше 25 лет применяется оператор NOT:
 
sex   =   2   S   partei   =   3   &   ~   alter   >   25
 
ИЛИ
 
sex   =   2   S   partei   =   3   S   NOT   alter   >   25.
 
Оператор NOT обязательно должен стоять в начале логического выражения. Выражение & alter
~> 25 не допускается в SPSS. В этом случае вы получите сообщение об ошибке с подсказкой, где должен находиться оператор NOT.
 
6. Требуется отобрать респондентов, которые голосовали за ХДС, СДП или республиканцев.
 
partei = 1 | partei = 2 | partei = 6
 
ИЛИ
 
partei = 1 OR partei = 2 OR partei = 6.
 
Здесь более изящным будет применение функции ANY:
 
ANY    (partei,    1,    2,    6).
 
7. Отберем респондентов, которые опрашивались в Западной Германии:
 
 fragebnr   >=   "W-"
 
Здесь более изящным будет применение функции SUBSTR:
 
SUBSTR    (fragebnr,1,1)    =    "W"
 
ИЛИ
 
SUBSTR    (fragebnr,1,2)    =    "W-"
 
Можно также применить функцию RANGE:
 
RANGE  (fragebnr, W-001, W-999)
 
ИЛИ
 
RANGE  (fragebnr,  "W-001",  "W-999").
 
8. Отберем респондентов, которые опрашивались в Восточной Германии: fragebnr   >=    "0-"    &    fragebnr   <    "W-"
 
Достаточно также просто ввести
 
fragebnr   <    "W-"
 
И в этом случае изящнее будет вариант с SUBSTRING:
 
SUBSTR(fragebnr,1,1)  =  "О"
 
или
 
SUBSTR(fragebnr,1,2)  = "0-"
 
Можно также применить функцию RANGE:
 
RANGE     (fragebnr,     "O-001",     "0-999")
 
Удобно использовать оператор NOT:
 
~    fragebnr    >=    "W"
 
Далее мы рассмотрим применение функций UPCASE и LOWER. При этом будем исходить из следующей ситуации.: При вводе номеров анкет иногда по ошибке вме-^то прописного "W" для Западной Германии было закодировано строчное "w". Эти наблюдения не будут отобраны по условию SUBSTR(fragebnr, 1,1) = "W". В таком ^лучае может помочь функция UPCASE или LOWER:
 
SUBSTR (UPCASE (fragebnr,1,1) = "W".
 
Рассмотренная конструкция называется вложенной функцией. Вложенные функции вычисляются в направлении изнутри наружу. Функция UPCASE преобразует содержимое переменной fragebnr в прописные буквы. Преобразованное содержимое затем передается в функцию SUBSTR. Эта функция выделяет из строки первую букву. Полученная буква сравнивается с буквой W. Если они совпадают, данное наблюдение выбирается, то есть переменная фильтра filter_S приобретает значение 1. Если применяется функция LOWER, строка в редакторе условий будет выглядеть так:
 
SUBSTR (LOWER (fragebnr, 1,1) = "w".
 
Функция LOWER преобразует содержимое переменной fragebnr в строчные буквы. Преобразованное содержимое передается в функцию SUBSTR. Эта функция выделяет из строки первую букву. Полученная буква сравнивается с буквой w. Если они совпадают, данное наблюдение отбирается.
 
 
				
			
  
			
				
	
				
				
				
		 |