SPSS REPEAT:如何使用替代变量作为变量名的一部分?
SPSS REPEAT: How do i use the stand-in-variable as part of variable name?
我正在使用 SPSS 20。
在我的数据集中是一个字符串变量列表,我想将其重新编码为数字。最初我想让它们重新编码成它们自己。
我意识到这是不可能的,因为 SPSS 会逐个分析数据集,并且一个变量一次只能有一种类型。
所以我希望将它们重新编码为新变量,但后缀为 _rec
。
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
循环中使用。
所以我回到了我原来的问题。
你说他们(字符串变量)不能重新编码到他们自己但是他们可以使用 ALTER TYPE
ALTER TYPE var_1 var_2 var_3 (F8.2).
其中F8.2是宽度为8,小数点后两位的数值变量。
您可以将 DO REPEAT
与多个替代变量列表一起使用,如下所示:
DO REPEAT Old = var_1 var_2 var_3
/New = var1_rec var2_rec var3_rec.
RECODE Old (CONVERT) INTO New.
END REPEAT PRINT.
展开后相当于:
RECODE var_1 (CONVERT) into var1_rec.
RECODE var_2 (CONVERT) into var2_rec.
RECODE var_3 (CONVERT) into var3_rec.
但如果你打算这样做,那么你可以直接在 RECODE
命令中执行此操作,如下所示:
RECODE var_1 var_2 var_3 (CONVERT) INTO var1_rec var2_rec var3_rec.
这两种方法都假定原始变量都是字符串变量(具有任意和不同的宽度)。
注意 CONVERT
函数的确切作用,即获取字符串变量(包含存储为字符串的数值)并将其转换为数字格式变量。所以输入变量总是一个字符串和输出数字。
我正在使用 SPSS 20。
在我的数据集中是一个字符串变量列表,我想将其重新编码为数字。最初我想让它们重新编码成它们自己。
我意识到这是不可能的,因为 SPSS 会逐个分析数据集,并且一个变量一次只能有一种类型。
所以我希望将它们重新编码为新变量,但后缀为 _rec
。
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
循环中使用。
所以我回到了我原来的问题。
你说他们(字符串变量)不能重新编码到他们自己但是他们可以使用 ALTER TYPE
ALTER TYPE var_1 var_2 var_3 (F8.2).
其中F8.2是宽度为8,小数点后两位的数值变量。
您可以将 DO REPEAT
与多个替代变量列表一起使用,如下所示:
DO REPEAT Old = var_1 var_2 var_3
/New = var1_rec var2_rec var3_rec.
RECODE Old (CONVERT) INTO New.
END REPEAT PRINT.
展开后相当于:
RECODE var_1 (CONVERT) into var1_rec.
RECODE var_2 (CONVERT) into var2_rec.
RECODE var_3 (CONVERT) into var3_rec.
但如果你打算这样做,那么你可以直接在 RECODE
命令中执行此操作,如下所示:
RECODE var_1 var_2 var_3 (CONVERT) INTO var1_rec var2_rec var3_rec.
这两种方法都假定原始变量都是字符串变量(具有任意和不同的宽度)。
注意 CONVERT
函数的确切作用,即获取字符串变量(包含存储为字符串的数值)并将其转换为数字格式变量。所以输入变量总是一个字符串和输出数字。