string - 循环几个字符串变量。如何计算重复?
问题描述
正如前面的问题中提到的(请用完美的语法回答),我有一个非常大的数据集,每个患者有多个诊断(25 个),由 SPSS 中的 ICD 10 代码表示。为简洁起见,我发布了我尝试复制的内容的快照,该快照仅使用标记为 DIAG1 到 DIAG3 的 3 个字符串变量和随机代码的测试数据集:
假设每一行代表一个病人。“O74Updated”列中显示的结果是我试图复制的结果。本质上是一个存在/不存在变量,其数字表示患者在任何“诊断”列中进行“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 中可能是一个非常基本的语法问题的任何输入/指导。
解决方案
如果任何诊断中包含“O74”,则您帖子中的语法会产生 1 。语法中的一个小改动将使其计算出现次数:
compute O74 = 0.
do repeat x = DIAG1 to DIAG3.
if char.index(UPPER(x),'O74')>0 O74 = O74 + 1.
end repeat.
推荐阅读
- ios - iOS SDK如何调用Lambda函数?
- sql - 在没有 PK/FK 的情况下将表 A 中的 1 条记录链接到表 B 中的多条记录
- ajax - 与 AJAX 一起使用时,适当设计 API 以防止公共访问
- java - 无法使用 AES/ECB/PKCS5Padding 将加密方法从 Java 复制到 PHP
- javascript - 在 for 循环中提交 JQuery 表单
- json - 如何将授权标头从 SQL Server 传递到 API 以获取 JSON?
- excel - Sumif 仅当值超过 45 并且如果小于 45 则不显示底部单元格上的值
- google-sheets - ReferenceError:未定义“getLastPopulatedRow”
- python - 如何编写一个将字符串转换为单个数字的函数?
- asp.net - 如何安排定期下载