* ВОПРОС: Нужно подсчитать частоту встречаемости значений когда те могут быть раскиданы в нескольких строковых переменных. В частности, я использую классификатор (ICD-9) для фиксации основной причины госпитализации пациентов. Их 200 человек и каждый может иметь несколько госпитализаций с разными причинами. Пример: Пациент A был госпитализирован 8 раз: 2 раза 'сердечный приступ', 1 раз 'камни в почках', 4 раза 'обезвоживание', 1раз 'инсульт'. Пациент B : 1 раз 'пневмония', 1 раз 'инсульт', 1 раз 'колики'. Пациент C: 1 раз 'обезвоживание', 1раз 'сердечный приступ'.. и т.д. Как подсчитать частоту встречаемости причин госпитализации для всех пациентов? * РЕШЕНИЕ (размещено в SPSSX-L, автор: rlevesque@videotron.ca, 04.06.2001). DATA LIST LIST /id(A10) cause1(A20) cause2(A20) cause3(A20) cause4(A20). BEGIN DATA 'Пациент A' 'сердечный приступ''сердечный приступ' 'камни в почках''обезвоживание' 'Пациент B' 'пневмония' 'инсульт' 'колики' 'Пациент C' 'обезвоживание' 'сердечный приступ' END DATA. LIST. * Изменим структуру данных. VECTOR cause=cause1 TO cause4. STRING cause(A20). LOOP cnt=1 TO 4. COMPUTE cause=cause(cnt). XSAVE OUTFILE='c:\\temp\\temp.sav' /KEEP=id cause. END LOOP. EXECUTE. GET FILE='c:\\temp\\temp.sav'. SELECT IF LENGTH(RTRIM(cause))>0. AUTORECODE cause /INTO cause1. FREQUENCIES VARIABLES=cause1 /ORDER= ANALYSIS .