Решение SPSS AnswerNet Код решения: 100008309 Продукт: SPSS Base Тип вопроса: синтаксис/командный режим/скрипты Подтип вопроса: Преобразования данных Тема: Стандартизация (вычисление z-значений)по набору переменных в пределах наблюдений в SPSS. Описание: Вопрос. Мне надо преобразовать имеющийся набор переменных в файле SPSS в набор z-значений (т.е. величин, имеющих среднее 0 и стандартное отклонение (SD) 1 для каждого человека) на основании среднего и SD по этим переменным для каждого человека (наблюдения). Ответ. Можно произвести эти преобразования через меню, но проще будет действовать через синтаксис. Ниже разобраны 3 примера. Пример 1: Простейший пример таков. Если переменные, нуждающиеся в стандартизации, расположены впритык в наборе данных, можно использовать структуру VECTOR-LOOP. В этом примере такие переменные поименованы как VARX1..VARX8. (Они не обязательно должны иметь общую часть имени, достаточно просто того, что они расположены встык друг к другу в файле данных) Новые стандартизированные переменные называются ZX1..ZX8. *************. COMPUTE avgx = MEAN(varx1 TO varx8). COMPUTE sdx = SD(varx1 TO varx8). VECTOR xraw = varx1 TO varx8. VECTOR zx (8). LOOP #i = 1 TO 8. COMPUTE zx(#i) = (xraw(#i) - avgx)/sdx . END LOOP. EXECUTE. ***********. Пример 2: Если ваши переменные имеют осмысленные имена и вы хотите, чтобы стандартизированные аналоги имели похожие имена, вам поможет следующий пример. Допустим, надо стандартизировать следующие 8 переменныx: color, price, power, steer, safety, space, miles, style, расположенные в файле данных в указанном порядке. Командой NUMERIC предварительно определим похожие переменные в словаре SPSS (сначала они будут пустыми). Ещё раз: переменные должны быть расположены встык в файле данных. *******************. COMPUTE avgx = MEAN(color TO style). COMPUTE sdx = SD(color TO style). VECTOR att = color TO style. NUMERIC zcolor zprice zpower zsteer zsafety zspace zmiles zstyle (F8.2). VECTOR zatt = zcolor TO zstyle . LOOP #i = 1 TO 8. COMPUTE zatt(#i) = (att(#i) - avgx)/sdx . END LOOP. EXECUTE. *****************. Пример 3: Если исходные переменные расположены не встык в файле, можно либо переупорядочить их, либо использовать программную структуру DO REPEAT. *****************. COMPUTE avgx = MEAN(color, price, power, steer, safety, space, miles, style). COMPUTE sdx = SD(color, price, power, steer, safety, space, miles, style). DO REPEAT att = color price power steer safety space miles style /zatt = zcolor zprice zpower zsteer zsafety zspace zmiles zstyle. COMPUTE zatt = (att - avgx)/sdx . END REPEAT. EXECUTE. ***************.