SPSS-это сила.направим ее в нужное русло.

May 24, 2007 18:06

Обработчики spss!
Поделись своими знаниями- как быстро и надежно убирать пустые ячейки в Multiple вопросах.Моя идея с векторами , к сожалению, в spss осуществить нельзя!

Программирование/синтаксис в SPSS, Данные: пропуски и их замена, Ответ множественный (Multiple Response)

Leave a comment

Comments 6

antiyou__antime May 24 2007, 14:30:25 UTC
IF&RECODE, м?

Reply


n_a_g May 24 2007, 14:35:39 UTC
Поясните вопрос. Вы хотите, чтобы проводились тесты для multiple вопросов? И появляются лишние строчки и столбцы в таблицах?

Reply

ocmpovok May 25 2007, 06:12:18 UTC
в Multiple вопросах может быть несколько ответов.и записываеются они подряд.
А некоторые операторы вводят их вот так:
NN Q5.1 Q5.2 Q5.3 Q5.4 Q5.5 Q5.6 Q5.7 Q5.8 Q5.9 Q5.10 Q5.11 Q5.12 Q5.13

74110 . 3 4 . . . . . . . . . .
1 . . . 4 . . . . . . . . 13
2 . . . 4 . . . 8 . . . . .
3 1 . 3 . . . . . . . . . .
59010 . . . 4 . . . . . . . . .
59012 1 . 3 . . . . . . . . . .
59013 . . . . 5 . . . . . . . .
59017 . . 3 4 . . . . . 10 . . 13
59021 . . 3 . . . . . . . . . .
59022 . . 3 . . . . . . . . 12 .

Мне необходимо переписывать данные, чтобы ответы шли друг за другом без пустых ячеек.

Моя идея- менять пустые и не пустые ячейки местами с помощью векторов:
*kol=количество ответов, А-вектор (сами ответы).

Loop i=1 to kol-1.
do if sys(a(i)).
loop j=i+1 to kol.
do if not sys(a(j)).
compute a(i)=a(j).
compute a(j)=$sysmis.
end if.
end loop.
end if.
end loop.
Вложенные циклы в spss не работают.

Reply

n_a_g May 25 2007, 08:14:19 UTC
vector l=q5.1 to q5.13.
compute k=1.
do repeat r=q5.1 to q5.13/n=1 to 13.
IF (r>0) l(k) = r.
IF (r>0) k = k+1.
end repeat.

do repeat r=q5.1 to q5.13/n=1 to 13.
IF (n>=k) r = $SYSMIS.
end repeat.
execute.

Но вообще то таких ситуаций не должно быть в принципе.

Reply

...либо n_a_g May 25 2007, 09:23:03 UTC
144 M> vector mrc= v1 to v13.
150 M> loop #i= 2 to 13.
151 M> loop #i2= 2 to 13.
152 M> do if missing(mrc(#i2-1)) and not missing(mrc(#i2)).
153 M> comp mrc(#i2-1)= mrc(#i2).
154 M> comp mrc(#i2)= $sysmis.
155 M> end if.
156 M> end loop.
157 M> end loop.
161 M> exec.

Reply


Leave a comment

Up