proc iml;
use kaplan;
read all  var{time Survival survival1};
close;
 Survival1 = DM[,3];Survival = DM[,2]; time = DM[,1]; 
 n = nrow(DM);   
segment = J(nrow(DM),1,1); print segment; 
do i = 2 to nrow(DM);
SS=survival1-survival1[i-1];
TT=time[i+1]-time;
DX = SS*TT;
end;
create kaplann var{time Survival survival1 TT DX DX};
append;
quit;
ERROR: (execution) Matrix has not been set to a value.
 operation : [ at line 1545 column 34
 operands  : DM, , *LIT1003
DM      0 row       0 col     (type ?, size 0)
*LIT1003      1 row       1 col     (numeric)
         2
 statement : ASSIGN at line 1545 column 21
ERROR: (execution) Matrix has not been set to a value.
 operation : [ at line 1545 column 49
 operands  : DM, , *LIT1004
DM      0 row       0 col     (type ?, size 0)
*LIT1004      1 row       1 col     (numeric)
         1
 statement : ASSIGN at line 1545 column 40
ERROR: (execution) Invalid operand to operation.
 operation : J at line 1547 column 12
 operands  : _TEM1001, *LIT1005, *LIT1006
_TEM1001      1 row       1 col     (numeric)
         0
*LIT1005      1 row       1 col     (numeric)
         1
*LIT1006      1 row       1 col     (numeric)
         1
 statement : ASSIGN at line 1547 column 1
ERROR: Matrix segment has not been set to a value.
 statement : PRINT at line 1547 column 28