【发布时间】:2012-10-02 06:44:50
【问题描述】:
我正在研究this example,它解释了如何在SAS 9.3 中使用proc mcmc 拟合标准Cox 模型。
对于数据中的第一行 (ind=1),S=exp(bZ) 与其他数量一起计算。需要注意的是,S 是一个新变量,由原始数据集的列构成。
对于第二行 (1 < in < &N),S 递增:S = S + exp(bZ)。
问题: SAS 如何保留上一行中S 的值?我会期待一个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;
【问题讨论】:
标签: sas