1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Решение SPSS AnswerNet

Код решения:	 	100000537	

Тема:
Запись меток значений вместо самих значений в файл ASCII. 

Описание:
Вопрос. 
Я хотел бы конвертировать данные в файл ASCII, но так, чтобы вместо числовых
значений были записаны их метки всякий раз, когда они есть. Возможно такое?

Ответ. 
Да, вот способ: 

*** Этот синтаксис показывает, как мы можем использовать команду
REPORT для замены числовых значений на их метки. 
data list free / religion gender. 
begin data 
1 2 1 1 3 1 4 2 4 2 3 1 4 1 4 2 2 2 2 1 2 1 3 2 3 1 3 2 2 1 
3 2 3 1 4 1 4 1 4 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 4 1 4 1 
1 2 1 1 3 1 4 2 4 2 3 1 4 1 4 2 2 2 2 1 2 1 3 2 3 1 3 2 2 1 
3 2 3 1 4 1 4 1 4 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 4 1 4 1 
1 2 1 1 3 1 4 2 4 2 3 1 4 1 4 2 2 2 2 1 2 1 3 2 3 1 3 2 2 1 
3 2 3 1 4 1 4 1 4 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 4 1 4 1 
1 2 1 1 3 1 4 2 4 2 3 1 4 1 4 2 2 2 2 1 2 1 3 2 3 1 3 2 2 1 
3 2 3 1 4 1 4 1 4 1 2 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 4 1 4 1 
end data. 

variable labels religion '' 
/gender ''. 
value labels religion 1 'протестант' 
2 'католик' 
3 'иудей' 
4 'нет' 
/gender 1 'муж' 
2 'жен'. 
compute caseid=1+caseid. 
leave caseid. 
file handle out1 / name = 'c:\\temp\\repdata.txt' /recfm=f /lrecl=80. 
report format=list 
/outfile=out1 
/title=center '' 
/variables=caseid 
religion (label) 
gender (label) 
/break=(nobreak). 

*** Эта команда создаст файл ASCII с переменными CASEID, 
*** RELIGION и GENDER, но RELIGION и GENDER будут представлены
*** строковыми значениями - метками исходных значений. Файл будет пустым
*** пока вы не закроете текущую сессию SPSS. Для импорта этого файла
*** в SPSS, закройте SPSS, запустите его снова и выполните следующий
*** синтаксис:. 

data list free file='c:\\temp\\repdata.txt' 
/caseid (f2) religion (a10) gender (a8).