c*********n 发帖数: 87 | 1 我觉得我犯了一个大错,你在1楼提到使用lifereg对吧,但是我把lifereg和lifetest
混用了,因为lifetest是nonparametric的,常用的方法包括KM和life table (2个
group),log rank test对多组,但是lifereg是parametric的,所以可能要改成:
proc lifereg ;
class trt;
model time*status(0) = trt / dist=???;
run;
你得specify一个survial time的distribution,常用的有exponential,gamma等等,
你看看这个网页:http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_lifereg_sect011.htm
run完后的output里有Analysis of Parameter Estimates,你可以看到对trt effect,
看他们有没有作用,但是貌似没有pairwise的test。如果是我的话我就用l |
|
y*****w 发帖数: 1350 | 2 It seems survreg() in R and PROC LIFEREG in SAS run the same type of
survival analysis. However, when I ran both of them on a survival data, I
got different results. Both were set as exponential distribution, and have
right censored data. See below. Could anybody tell me why the results are
different? Did I miss specifying any important parameters in R? Thanks!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The R code:
survFit <- survreg(Surv(time, event, type="right") ~... 阅读全帖 |
|
a********a 发帖数: 346 | 3 %macro surv(dist=);
proc lifereg data=surv_w2;
class PERFSTAT;
model log_day*censor(1)=PERFSTAT base_ts_center PTRWK8 /dist=&dist;
run;
%mend;
%surv(dist=lnormal);
%surv(dist=exponential);
%surv(dist=weibull);
%surv(dist=gamma);
I am running proc lifereg with different distribution for the model. I got
Log likelihood for different distributions as following. Which distribution
I should use? How exponential distribution can be this worse with only 1
degree of freedom difference with weibu |
|
i****f 发帖数: 432 | 4 SAS新手,研究了好几天了也还没研究出来,只能试着来求救了。
就是我有一组interval-censored data,其中有一部分是left-censored or right-
censored,其他的都是interval-censored;
作了lifereg以后我怎么才能画出那条regression curve (纵轴是cdf)呢?比如用
lognormal or weibull distribution.
proc lifereg data=xyz;
model (left, right)= / D=weibull;
run;
不知道怎么加图,类似于这篇文章里的那种:
http://www.sciencedirect.com/science/article/pii/S0278691509000
非常感谢!帮忙解决的有包子答谢~ |
|
s*******e 发帖数: 1385 | 5 我的data是这个格式的
dead censor day
10 5 1
8 5 2
3 1 3
8 0 4
.....
我想用lifereg fit parametric的model
model statement应该怎么写?
谢谢大家了 |
|
B******y 发帖数: 9065 | 6 早说是虫子,那当然可以了。但问题是Lifereg并不太可能最佳模型,有点大炮轰蚊子
的感觉,费很大的劲还未必轰的准。
group |
|
j*****e 发帖数: 182 | 7 proc lifereg;
model time*censor(0)=;
weight number;
run; |
|
a********a 发帖数: 346 | 8 In proc lifereg procedure, is there any command we can use to get the
predicted survival time after model fitting?
Thanks |
|
P****D 发帖数: 11146 | 9 proc lifereg data=xyz;
model (left, right)= / D=weibull;
PROBPLOT/PPOUT;
run;
是要这样的吗? |
|
i****f 发帖数: 432 | 10 不是的,这样画出来的是条直线,而我要的是条cdf曲线。。。
你能打开那篇文章不?就像那里面的图。。。。当然文章里只说了是用lifereg做的分
析没说是不是用SAS作的图 |
|
C***l 发帖数: 2625 | 11 非要自己编程么?但是怎么确定likelihood function呢?用lifereg可以么? |
|
j*****e 发帖数: 182 | 12 There are many theoretical distributions that can be used to model a
positive population. For example,log-normal, log-logistic, weibull, gamma.
In survival analysis, modeling parameters of a weibull distribution may
correspond to a proportional hazard model. This parametric approach is
realized in SAS PROC LIFEREG. There are comparable models in econ and
engineer. You have to read more on what's the common choice of distribution
and how to model the corresponding parameters. |
|
i*****r 发帖数: 2 | 13 看不懂data,为什么同一个subject又有death time又有censor time? |
|
s*******e 发帖数: 1385 | 14 death和censor都是failure的个数,只有最后才是时间 |
|
i*****r 发帖数: 2 | 15 没见过分析这种data format
应该把每个subject的death和censor的时间写到一个variable里面去,再create一个
censor indicator variable, |
|
s*******e 发帖数: 1385 | 16 谢谢回答,如果手动convert工作量太大了,这个是JMP用的格式,JMP是base on SAS的
,SAS应该也能分析 |
|
B******y 发帖数: 9065 | 17 不是这样的,数据被你整成这个样子,信息量已经丧失殆净,整个分析已经无法进行了。 |
|
s*******e 发帖数: 1385 | 18 那如果我把数据变成这样可以吗
number cencor time
5 0 1
6 1 1
4 0 2
10 0 3
....
number下面的是failure的个数或者是missing的个数
cencor 是代表failure or censored
time是时间
如果是这样会不会好一些?
我觉得,我好想应该把0也加进去,让时间连续?
了。 |
|
B******y 发帖数: 9065 | 19 就看第一行而言,难道说你有5个病人是一模一样的,没有被Censor,并且时间长度都
为1?说实话,这样的数据“完美”的过分了点。理论上,到是可以作了。 |
|
s*******e 发帖数: 1385 | 20 这个不是病人,是生物实验,确切的说是虫子,我每两天检查一次,每次记录死亡的个
数,还有missing的个数,每个group里面的虫子,genetic是一样的。我要看的是group
之间的差异,例如两个survival function是不是有显著性差异。
想fit几个parametric和nonparametric 的model比较一下
不知道这样应该怎么写model statement,一定要是一个个体一行的数据才行吗? |
|
s*******e 发帖数: 1385 | 21 那应该怎样写model statement呢?应该是增加了一个变量 |
|
|
n*****n 发帖数: 3123 | 23 you need to re-arrange your data first (can be easily done by sas)
use your data as an example
day censorflag count
1 0 5
1 1 10
2 0 5
2 1 8
3 0 1
3 1 3
4 1 8
then use the sas statements
proc lifetest data=**** method=lt;
time day*censorflag(0);
freq count;
run; |
|
c*********n 发帖数: 87 | 24 我觉得你是要看group的差异的话,应该还需要一个group indicator,然后用starta,
这样才能test group 差异。
day censorflag count group
1 0 5 1
1 1 10 0
2 0 5 0
2 1 8 1
proc lifetest data=**** method=lt;
time day*censorflag(0);
freq count;
strata group;
test group;
run;
我要看的是 group 之间的差异,例如两个survival function是不是有显著性差异。 |
|
s*******e 发帖数: 1385 | 25 谢谢了,为什么每次都会出现
30 test group;
ERROR: Variable group in list does not match type prescribed for this list.
这条错误信息,什么地方有问题呢 |
|
s*******e 发帖数: 1385 | 26 把group的格式换成数字就可以运行了,但是结果是好像不对,不能strata,然后再
test,
test statistic是0,std也是0 |
|
j*****e 发帖数: 182 | 27 If you use lifetest to check the group effect, do not use method=it. It
corresponds to lifetable, which is used for summarizing large data set and
no tests could be performed.
Use method=pl. This is also the default. |
|
c*********n 发帖数: 87 | 28 恩,是的。我忘了check method的,要么不用method=lt,要么method=PL 或者KM,你再
试试吧。 |
|
|
s*******e 发帖数: 1385 | 30 这个test statement是做什么的?是比较每两组之间的关系吗?就像POST HOC TEST在
ANOVA里面? |
|
c*********n 发帖数: 87 | 31 test两个group的survival function是不是一样,也就是test两个group有没有差异,
我们把两个group看成两个treatment,就是看treatment的差异。
你可以用plots=(s)画出2组的KM estimates,就比较直观了。
proc lifetest plots=(s);
....... |
|
|
w*********y 发帖数: 7895 | 33 对了,我申请的公司是SYNTERACT。你GOOGLE一下,他们应该还在招人。 |
|
s*******e 发帖数: 1385 | 34 谢谢回答
如果是多个group的情况呢?有没有一个paired test就像ANOVA里面的post hoc test?
还有就是好像strata group和test group好像不能一起用,一起用的结果就是TEST
statement的output statistic 是0,std也是0 |
|
c*********n 发帖数: 87 | 35 我修过survial data analysis 这门课,只是学了点皮毛,多的就没有了。谢谢你给我
的信息,我呆会就去搜搜,嘿嘿! |
|
s*******e 发帖数: 1385 | 36 已经很感谢了,parametric 和 nonparametric我都用,就是为了看看哪个更好一些。
lifetest |
|
|
a********a 发帖数: 346 | 38 It seems p= gives quantile estimates? How is it related to
estimate the predicted survival time? Thanks. |
|
j*****e 发帖数: 182 | 39 You can only compare weibull vs exponential, since the latter is nested in
the former. Exponential assumes constant hazard rate. Use nonparametric
method to estimate it, and see if this is the case.
For the rest, the likehood functions are different and they are not
comparable. |
|
m*******e 发帖数: 44 | 40 Hi, I am trying to make a survival analysis on some right censored data
using parametric survival model (proc lifereg in SAS). It seems to me that
the only modeling adequacy tests only focus on the which distribution fits
the data better. Is it appropriate to do modeling validation test by fitting
modeling on partial of data (ex. 70% of data) and then using the model
parameter estimates to calculate the estimated survival time using the rest
30% of data to check the residuals? But it is said if ... 阅读全帖 |
|
Y******Y 发帖数: 8753 | 41 phreg不能accommodate left censoring的情况,lifereg可以,不过fit的不是
semiparametric cox
model... |
|
b********y 发帖数: 165 | 42 fit survival model ...
proc lifereg
最后得出的coefficient 怎么解释。。。是hazard rate or survival rate?
如果想估计mortality rate 在某个time 怎么做呢?
谢谢了!! |
|
b********y 发帖数: 165 | 43 proc lifereg不管是什么distribution(weibull, lognormal...)..coefficient都是
hazard rate? |
|
P****D 发帖数: 11146 | 44 你都假设BMI是恒定的了,不如直接用PROC LIFEREG做吧,省得自己写。 |
|
P****D 发帖数: 11146 | 45 我说的就是用lifereg来处理interval censoring。 |
|
k*******a 发帖数: 772 | 46 如果SAS没有直接给估算的花,那就要自己估算survival function和95% CI
我用R做过Weibull的 |
|
i****f 发帖数: 432 | 47 非统计背景的菜鸟红着脸说,不懂啊。。。。
reg以后得到了intercept and scale的参数值(包括他们的std error, 95% CI), 然后
怎么估算? |
|
i****f 发帖数: 432 | 48 非统计背景的菜鸟红着脸说,不懂啊。。。。
reg以后得到了intercept and scale的参数值(包括他们的std error, 95% CI), 然后
怎么估算? |
|
|