Цикл по нескольким строковым переменным. Как учесть реплики? - PullRequest
0 голосов
/ 08 ноября 2018

Как уже упоминалось в предыдущем вопросе (любезно ответил с отлично работающим синтаксисом), у меня есть очень большой набор данных множественных диагнозов (25) на пациента, представленный кодами ICD 10 в SPSS. Для краткости я опубликовал снимок того, что я пытаюсь воспроизвести, просто используя набор тестовых данных из 3 строковых переменных, помеченных от DIAG1 до DIAG3, и случайных кодов:

enter image description here

Предположим, что каждая строка представляет пациента. Результат, представленный в столбце «Обновление O74», - это то, что я пытаюсь воспроизвести. По существу, переменная присутствия / отсутствия с числом, представляющим число случаев, когда пациент имел диагноз «O74» в любом из столбцов «DIAG». Текущий рабочий синтаксис, который генерирует результат в столбце «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 голосов
/ 08 ноября 2018

Синтаксис в вашем сообщении дает 1 в случае, если любой диагнозов содержит 'O74' в нем. Небольшое изменение в синтаксисе сделает его count количество вхождений:

compute O74 = 0.
do repeat x = DIAG1 to DIAG3.
if char.index(UPPER(x),'O74')>0 O74 = O74 + 1.
end repeat.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...