私は、標準的な Cox モデルを に適合させる方法を説明するこの例に取り組んでいます。proc mcmc
SAS 9.3
データの最初の行 ( ind=1
) についてS=exp(bZ)
は、他の数量と共に計算されます。は、元のデータ セットの列から作成されS
た新しい変数であることに注意してください。
2 行目 ( 1 < in < &N
) では、S
が増分されます: S = S + exp(bZ)
。
質問:S
SASは前の行の値をどのように保持しますか? retain
私は声明または同等のものを期待していたでしょう...
コードの関連部分:
if ind = 1 then do; /* first observation */
S = exp(bZ);
l = vstatus * bZ;
v = vstatus;
end;
else if (1 < ind < &N) then do;
if (lag1(time) ne time) then do;
l = vstatus * bZ;
l = l - v * log(S); /* correct the loglike value */
v = vstatus; /* reset v count value */
S = S + exp(bZ);
end;
else do; /* still a tie */
l = vstatus * bZ;
S = S + exp(bZ);
v = v + vstatus; /* add # of nonsensored values */
end;
end;