Найти 5 наибольших значений в пределах одного наблюдения
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 | * Найти 5 наибольших значений в пределах одного наблюдения. * Автор решения: David Nichols, размещено в SPSSL-X 29.3.2000 * Результаты найдёте в файле 'c:\\temp\\tmp.sav' - примеч. перев. set mxloops=100. data list free / x1 to x10. begin data. -13 -54 -23 -54 -25 -12 -52 3 51 23 15 41 23 15 42 31 23 12 15 12 51 43 51 36 12 53 6 12 53 12 63 51 23 51 73 51 35 12 35 35 end data. matrix. get x /variables=x1 to x10. compute out=make(nrow(x),5,0). loop i=1 to 5. compute out(:,i)=rmax(x). loop j=1 to nrow(x). loop k=1 to ncol(x). do if x(j,k)=out(j,i). compute x(j,k)=-1E+100. break. end if. end loop. end loop. end loop. save out /outfile='c:\\temp\\tmp.sav'. end matrix. |