Я использую SPSS 20. В моем наборе данных есть список строковых переменных, которые я хочу перекодировать в числовые. Первоначально я хотел, чтобы они были перекодированы в себя. Я понимаю, что это невозможно, поскольку SPSS проходит через набор данных и одна переменная может иметь только один тип за раз. Поэтому я хочу, чтобы они были перекодированы в новые переменные, но с суффиксом _rec
.SPSS REPEAT: Как использовать переменную stand-in как часть имени переменной?
DO REPEAT var = var_1 var_2 ... var_n.
RECODE var (CONVERT) INTO var_rec.
END REPEAT.
Но это создает только один новую переменную var_rec
не несколько новых.
Я также пытался программировать обходной путь:
COMPUTE Job_2
STRING Job(A20)
DO REPEAT var = var_1 var_2 ... var_n.
COMPUTE var = Job.
RECODE Job (CONVERT) INTO Job_2.
DELETE VARIABLES var.
COMPUTE var = Job_2.
END REPEAT.
Но это не работает, потому что DELETE VARIABLES
не может быть использован в течение DO REPEAT
цикла.
Так что я вернулся к своему первоначальному вопросу.
К вашему первому предложению: не будет ли SPSS проходить через каждый переменный список и таким образом перекодировать var_1, var_2 и va3_3 в var_1_rec (например)? Только var_3 будет перекодирован в конце. К вашему предложению seccond: Для этого RECODE требует, чтобы все переменные имели один и тот же тип и ширину. – Caspar
Обновлено сообщение, чтобы помочь. –
Большое спасибо. Я не знал, что DO REPEAT работает таким образом. – Caspar