Пропорциональный случайный отбор
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 | * id - это переменная, содержащая коды библиотек. Мне требуется составить выборку, в которую библиотеки будут отбираться с вероятностью, пропорциональной числу занятых в них библиотекарей. * Этот метод не поместит библиотеку в выборку большее число раз, чем количество занятых в ней библиотекарей. * Автор: Raynald Levesque, Raynald@spsstools.net . DATA LIST FREE / id numb . BEGIN DATA 1 5 2 15 3 30 END DATA. * Следующий цикл "распаковывает" файл данных. * Каждая библиотека "размножается" в фале данных на то число строк, сколько работает в ней библиотекарей. LOOP cnt=1 TO numb. XSAVE OUTFILE='c:\\temp\\temp.sav' /KEEP id numb. END LOOP. EXECUTE. GET FILE='c:\\temp\\temp.sav'. COMPUTE draw=UNIFORM(1). RANK VARIABLES=draw (A) /RANK /PRINT=NO /TIES=MEAN . * В следующей строчке исправьте 30 на желаемый объём выборки. SELECT IF (rdraw<=30). EXECUTE. |
Related pages
...