循环遍历多个字符串变量和案例以创建数字变量SPSS

时间:2017-09-06 16:19:38

标签: loops vector syntax spss

我在SPSS中有一个数据集,有311个不同的变量和1304个案例。这些变量中的99个具有ICD9和ICD10代码,这些代码有时仅是数字(即303),有时是字符串(即H233)。我已经将所有变量都设为字符串。

我需要做的是让SPSS遍历每个案例和99个变量中的每一个,看看它是否从大量代码中找到任何代码,即:

("3180","3181","3182","330","33111","33119",
"3314","33189","3319","3320","3321","3330",
"3332","3334","3335","3337","3339","334",
"335","343","34501","34581","3590","3591",
"3592","3593","3361","3368","3379","3418",
"34290","343","3440","34481","3449","34511",
"3453","34541","34561","34571","34591","3481",
"3484","3491","43401","43491","359","740",
"741","742","7595","78003","9962","99663",
"V452","V5301","V5302")

如果它找到了我指定的变量列表,我需要它来生成变量ccc_n = 1,否则ccc_n需要等于0.我试过COMPUTE ccc_n = 0。我怎么能做到这一点?我尝试了do repeatdo ifloopvector,但我似乎无法使其发挥作用。

1 个答案:

答案 0 :(得分:1)

试试这个:

do repeat vr=vr1 to vr99.
  compute ccc_n=any(vr, "3180","3181","3182","330","33111","33119" ....).
end repeat.

您当然应该用您的真实变量名替换vr1 to vr99(如果它们在文件中不是连续的,您需要单独命名它们)。在any()函数中输入以逗号分隔的所有代码。