как программировать l (x) = l (x-1) -d (x-1) в SPSS? - PullRequest
0 голосов
/ 04 ноября 2010

Как лучше всего запрограммировать следующую формулу в SPSS: l (x) = l (x-1) -d (x-1), где l (x) - общее количество людей в группе риска в возрастной группе x;d (x) - общее количество смертей в возрастной группе x.Итак, d (x-1) - общее количество смертей в возрастной группе x-1.спасибо

1 Ответ

1 голос
/ 09 ноября 2010

Я не уверен, что полностью понимаю ваш вопрос, но вы можете использовать функцию LAG в SPSS.

Проверьте синтаксис ниже, чтобы получить представление:

*--------------------------------------------------------------------------------------------------.
* Lets create some fake data.
*--------------------------------------------------------------------------------------------------.
DATA LIST LIST (",") / id risk death.
BEGIN DATA  
1, 274, 123
1, 123, 34
1, 1235, 23
2, 3456, 231
2, 1897, 12
END DATA.

*--------------------------------------------------------------------------------------------------.
*  Create a basic lag to get the previous record's values.
*--------------------------------------------------------------------------------------------------.
COMPUTE risk.lag1 = LAG(risk, 1).
COMPUTE death.lag1 = LAG(death, 1).

*--------------------------------------------------------------------------------------------------.
*  Create a lag if group dependent -- assumes your cases are in the order you want
*  Only executes if the previous records value of ID is the same as the current record.
*--------------------------------------------------------------------------------------------------.
IF (id = LAG(id,1)) risk.lag2 = lag(risk,1).
IF (id=LAG(id,1)) death.lag2 =  lag(death,1).
EXECUTE.

*--------------------------------------------------------------------------------------------------.
*  ....And the data.....
*--------------------------------------------------------------------------------------------------.
LIST CASES.

Дает вам следующие расчеты данных ....

      id     risk    death risk.lag1 death.lag1 risk.lag2 death.lag2

       1      274      123         .         .          .         .
       1      123       34       274       123        274       123
       1     1235       23       123        34        123        34
       2     3456      231      1235        23          .         .
       2     1897       12      3456       231       3456       231


Number of cases read:  5    Number of cases listed:  5
...