最近我在尝试使用生存分析模型写论文。现在碰到一些问题,请生存分析的大牛帮助。
我在做一个入党概率的生存分析。事件为入党, 在一定时间内入党为1,没有入党为0.
现在我这里有个案的出生时间 t1, 入党时间t2(风险终止时间), 调查结束的时间为t3. 新产生的进入风险集的时间 为t4. 入党事件为 party。
使用 stset 命令生成 生存分析需要的“人—年”数据模式。因为是多记录的时间数据,所以使用以下命令。
stset t2, failure(party) origin(t4) id(id)
运行后得到如下结果
id: id
failure event: party != 0 & party < .
obs. time interval: (t4, t2]
exit on or before: failure
t for analysis: (time-origin)
origin: time t4
------------------------------------------------------------------------------
5726 total obs.
19 entry on or after exit (t4>t2) PROBABLE ERROR
------------------------------------------------------------------------------
5707 obs. remaining, representing
5707 subjects
595 failures in single failure-per-subject data
142444 total analysis time at risk, at risk from t = 0
earliest observed entry t = 0
last observed exit t = 53
还有一个语法是time0(), 是每一段事件开始的时间。 我的第一个问题是怎么能够设置这个time0()括号的时间变量?
第二,我想通过 list 看看 生成的数据结构,但是 list后 发现那个id 没啥变化,正常情况下应该是每年都会产生一条记录的。所以怎么才能生成那种数据结构?是不是我上面哪里做的不对?请大牛指点。
我生成的结果:
+------------------------------+
| id t4 t2 party |
|------------------------------|
1. | 1 1976 2013 0 |
2. | 2 1984 2013 0 |
3. | 3 2005 2009 1 |
4. | 4 1980 2013 0 |
5. | 5 1962 2013 0 |
|------------------------------|
6. | 6 1992 2013 0 |
7. | 7 2008 2013 0 |
8. | 8 1966 2013 0 |
9. | 9 1985 2013 0 |
10. | 10 1985 2013 0 |
|------------------------------|
11. | 11 1993 2013 0 |
12. | 12 1992 2013 0 |
13. | 13 1970 2013 0 |
14. | 14 1975 2013 0 |
15. | 15 1960 1994 1 |
|------------------------------|
我想生成的数据格式为:
+--------------------------------+
| id party t0 sex educ |
|--------------------------------|
1. | 9 0 1982 1 1 |
2. | 9 0 1983 1 1 |
3. | 9 0 1984 1 2 |
4. | 9 0 1985 1 2 |
5. | 9 0 1986 1 2 |
|--------------------------------|
6. | 9 0 1987 1 2 |
7. | 9 0 1988 1 2 |
8. | 9 0 1989 1 2 |
9. | 9 0 1990 1 2 |
10. | 9 0 1991 1 2 |
|--------------------------------|
11. | 9 0 1992 1 2 |
12. | 9 0 1993 1 2 |
13. | 9 0 1994 1 2 |
14. | 9 0 1995 1 2 |
15. | 9 0 1996 1 2 |