Подсчет вхождений значений в spss

У меня есть 50 переменных с именами от w1 до w50, каждая из которых содержит значение от 1 до 20. Я хочу создать переменные, показывающие количество вхождений каждого из этих значений. Это то, что я хотел бы сделать, но у SPSS, похоже, возникла проблема с использованием #n в команде COUNT.

COMPUTE #n = 1 .
DO REPEAT x = num1 to num20 .
 COMPUTE x = 0 .
 COUNT x = w1 to w50 (#n) .
 COMPUTE #n = #n + 1 .
END REPEAT .

Это сообщение об ошибке, которое я получаю:

Ошибка # 4772 в столбце 24. Текст: #n В команде COUNT список значений в скобках синтаксически неверен. Выполнение этой команды останавливается.


person user3171640    schedule 07.02.2014    source источник


Ответы (1)


Вы не можете указать переменную в качестве списка значений в команде COUNT. К счастью, обходной путь для вашего примера довольно прост — вы можете использовать приращение стенда на DO REPEAT:

DO REPEAT x = num1 to num20 /#i = 1 to 20.
  COUNT x = w1 to w50 (#i).
END REPEAT.

Полный пример ниже.

**********************************************.
*creating fake data.
data list free / ID.
begin data
1
2
end data.
vector w(50,F2.0).
loop #i = 1 to 50.
  compute w(#i) = TRUNC(RV.UNIFORM(1,21)).
end loop.
vector num(20,F2.0).
execute.

*making new vector.
DO REPEAT x = num1 to num20 /#i = 1 to 20.
  COUNT x = w1 to w50 (#i).
END REPEAT.
EXECUTE.
**********************************************.
person Andy W    schedule 07.02.2014
comment
Легче, чем я думал! Спасибо :) - person user3171640; 09.02.2014