Отбор без возвращения (случайная перестановка номеров)
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 58 | Есть ли возможность сделать в SPSS следующее... Имеется набор из 12 стимулов-раздражителей (например, различных картинок, которые должны вызывать у объекта какую-то реакцию). Они должны предъявляться испытуемым (их 60) в случайном порядке. Для того, чтобы рандомизировать мой эксперимент, мне нужно, чтобы SPSS сгенерировал для каждого испытуемого последовательность из 12 стимулов, перемешанных в случайном порядке, т.е. т.н. выборку БЕЗ возвращения. Если бы рандомизацию можно было проводить С возвращением, то никаких проблем бы не возникло - я просто использовала бы равномерное распределение: COMPUTE X= TRUNC(RV.UNIFORM(1,13)). Есть способ сделать выборку без возвращения? Сильвия *****************************************************. *Уважаемые Сильвия, Рич и подписчики SPSSX-L, *Следующий достаточно аккуратный синтаксис решает проблему перестановок. *Он также иллюстрирует некоторые способы, как в SPSS... 1: преобразовать одно наблюдение в несколько 2: осуществить случайные перестановки 3: преобразовать несколько наблюдений в одно 4: ...без лишней нагрузки на мышь и клавиатуру ;-), (подобные задачи возникают достаточно часто). *С уважением, David Marso *Служба консультирования SPSS ----------------------------------------- * Вот набор стимулов *. DATA LIST / STIM01 TO STIM13 1-13 (A). BEGIN DATA ABCDEFGHIJKLM END DATA. * Сделаем 100 копий набора (по одной на каждого испытуемого) *. VECTOR STIM=STIM01 TO STIM13. STRING STIMX(A1). LOOP ID=1 TO 100. + LOOP STIMNUM=1 TO 13. + COMPUTE STIMX=STIM(STIMNUM). + XSAVE OUTFILE 'TMP' / KEEP ID STIMX. + END LOOP. END LOOP. EXE. GET FILE 'TMP'. * Осуществим случайные перестановки * . COMPUTE JUMBLE=UNIFORM(1). SORT CASES BY ID JUMBLE. RANK VARIABLES= JUMBLE BY ID . * Сведём случайную последовательность стимулов в одну строку для каждого испытуемого *. STRING STIM01 TO STIM13 (A1). VECTOR STIM = STIM01 TO STIM13. COMPUTE STIM(RJUMBLE)=STIMX. AGGREGATE OUTFILE * / BREAK ID / STIM01 TO STIM13 = MAX(STIM01 TO STIM13). |
Related pages
...