遍历几个字符串变量。如何计算重复次数?

时间:2018-11-08 18:20:36

标签: string loops syntax replication spss

如先前的问题中所述(请以完美的工作语法回答),我有一个非常庞大的数据集,每个患者由SPSS中的ICD 10代码代表多个诊断(25个)。为简便起见,我发布了一个快照示例,该快照仅使用3个字符串变量(标记为DIAG1至DIAG3和随机代码)的测试数据集进行复制:

enter image description here

假设每一行代表一个病人。我正在尝试复制“ O74Updated”列中显示的结果。本质上,存在/不存在变量的数字表示患者在“ DIAG”列中的任何一列中进行“ O74”诊断的次数。在“ O74”列中生成结果的当前工作语法为:

compute O74 = 0.
do repeat x = DIAG1 to DIAG3.
if O74=0 O74 = (char.index(UPPER(x),'O74')>0).
end repeat.

如上所述,上面提供的语法运行得很好。但是,我遇到了几百名患者,他们对“ O74”进行了多次诊断,上述代码无法准确捕获。我想通过提供每位患者的总数来确保所有O74发生率都得到考虑。是否可以确保在上面提供的语法中考虑了多次诊断的患者?

再次,我非常感谢您对SPSS中非常基本的语法问题的任何输入/指导。

1 个答案:

答案 0 :(得分:2)

如果任何个诊断中包含“ O74”,则帖子中的语法将产生1。语法上的微小变化将使其计数出现次数:

compute O74 = 0.
do repeat x = DIAG1 to DIAG3.
if char.index(UPPER(x),'O74')>0 O74 = O74 + 1.
end repeat.