Выделение из каждой записи типа 1 новой записи типа 0
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 | *(Вопрос) В файле имеются записи 9 типов: 1,2,3,4,5,6,7,8 и 9. * Но запись типа 1, вообще говоря, заключает в себе записи 2 типов. Назовём их типами 1 и 0. * Мне требуется взять значения нескольких первых переменных у в каждой переменной типа 1 и определить новую запись типа 0. * Короче говоря, для каждой записи типа 1 надо создать новую запись типа 0. *(Ответ) Размещён в новостной группе SPSS, автор: rlevesque@videotron.ca, 11.01.2002. * Создадим пример данных. DATA LIST LIST /id rectype var1 var2. BEGIN DATA 1 1 2 3 2 7 5 2 3 4 8 2 4 9 2 5 5 6 3 3 6 3 8 5 7 1 9 6 8 5 0 2 END DATA. LIST. * Для полноты картины произвольно зададим значения ещё 40 переменных. VECTOR v(40F8). * Fill the variables with some data. LOOP #cnt=1 TO 40. COMPUTE v(#cnt)=TRUNC(UNIFORM(10)). END LOOP. ***********************. * Начнём преобразования. ***********************. * Создадим дополнительную запись типа rectype=0 * для каждой записи типа rectype =1. LOOP #cnt=1 TO 1+ (rectype=1). + DO IF #cnt=2. + COMPUTE rectype=0. * Уберём значения ненужных переменных в записи типа 0. + LOOP #cnt1=21 TO 40. + COMPUTE v(#cnt1)=$SYSMIS. + END LOOP. + END IF. + XSAVE OUTFILE='c:\\temp\\temp.sav' /KEEP=ALL. END LOOP. EXECUTE. GET FILE='c:\\temp\\temp.sav'. |
Related pages
...