楼主: newbeetle
7354 4

SAS生存曲线如何自定义Y轴 [推广有奖]

  • 0关注
  • 0粉丝

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2010-1-14
最后登录
2010-1-14

楼主
newbeetle 发表于 2010-1-14 12:52:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用PROC LIFETEST做SAS 生存曲线,Y轴只能从0到1。如何才能使得Y轴是从0.8到1呢?查了些资料,好像说可以用%KAPMEIER,但这个似乎不是SAS本身有的MACRO。请问如何才能做到自定义Y轴呢?
谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:自定义 LIFETEST Macro Life test SAS 曲线 定义 生存

回帖推荐

bobguy 发表于2楼  查看完整内容

It seems no way to do it within PROC LIFETEST. But you can east do it in proc gplot. In SAS graph, you can define almost every graph parameter. Attached pgm below is an example to change the Y-axis by using axis statement and calling it in plot with vaxis option. data VALung; drop check m; retain Therapy Cell; infile cards column=column; length Check $ 1; ...

本帖被以下文库推荐

沙发
bobguy 发表于 2010-1-15 06:01:16
newbeetle 发表于 2010-1-14 12:52
用PROC LIFETEST做SAS 生存曲线,Y轴只能从0到1。如何才能使得Y轴是从0.8到1呢?查了些资料,好像说可以用%KAPMEIER,但这个似乎不是SAS本身有的MACRO。请问如何才能做到自定义Y轴呢?
谢谢
It seems no way to do it within PROC LIFETEST. But you can east do it in proc gplot.

In SAS graph, you can define almost every graph parameter. Attached pgm below is an example to change the Y-axis by using axis statement and calling it in plot with vaxis option.



data VALung;
      drop check m;
      retain Therapy Cell;
      infile cards column=column;
      length Check $ 1;
      label SurvTime='failure or censoring time'
         Kps='karnofsky index'
         DiagTime='months till randomization'
         Age='age in years'
         Prior='prior treatment?'
         Cell='cell type'
         Therapy='type of treatment'
         Treatment='treatment indicator';
      M=Column;
      input Check $ @@;
      if M>Column then M=1;
      if Check='s'|Check='t' then input @M Therapy $ Cell $ ;
      else input @M SurvTime Kps DiagTime Age Prior @@;
      if SurvTime > .;
      censor=(SurvTime<0);
      SurvTime=abs(SurvTime);
      Treatment=(Therapy='test');
      datalines;
   standard squamous
    72 60  7 69  0   411 70  5 64 10   228 60  3 38  0   126 60  9 63 10
   118 70 11 65 10    10 20  5 49  0    82 40 10 69 10   110 80 29 68  0
   314 50 18 43  0  -100 70  6 70  0    42 60  4 81  0     8 40 58 63 10
   144 30  4 63  0   -25 80  9 52 10    11 70 11 48 10
   standard small
    30 60  3 61  0   384 60  9 42  0     4 40  2 35  0    54 80  4 63 10
    13 60  4 56  0  -123 40  3 55  0   -97 60  5 67  0   153 60 14 63 10
    59 30  2 65  0   117 80  3 46  0    16 30  4 53 10   151 50 12 69  0
    22 60  4 68  0    56 80 12 43 10    21 40  2 55 10    18 20 15 42  0
   139 80  2 64  0    20 30  5 65  0    31 75  3 65  0    52 70  2 55  0
   287 60 25 66 10    18 30  4 60  0    51 60  1 67  0   122 80 28 53  0
    27 60  8 62  0    54 70  1 67  0     7 50  7 72  0    63 50 11 48  0
   392 40  4 68  0    10 40 23 67 10
   standard adeno
     8 20 19 61 10    92 70 10 60  0    35 40  6 62  0   117 80  2 38  0
   132 80  5 50  0    12 50  4 63 10   162 80  5 64  0     3 30  3 43  0
    95 80  4 34  0
   standard large
   177 50 16 66 10   162 80  5 62  0   216 50 15 52  0   553 70  2 47  0
   278 60 12 63  0    12 40 12 68 10   260 80  5 45  0   200 80 12 41 10
   156 70  2 66  0  -182 90  2 62  0   143 90  8 60  0   105 80 11 66  0
   103 80  5 38  0   250 70  8 53 10   100 60 13 37 10
   test squamous
   999 90 12 54 10   112 80  6 60  0   -87 80  3 48  0  -231 50  8 52 10
   242 50  1 70  0   991 70  7 50 10   111 70  3 62  0     1 20 21 65 10
   587 60  3 58  0   389 90  2 62  0    33 30  6 64  0    25 20 36 63  0
   357 70 13 58  0   467 90  2 64  0   201 80 28 52 10     1 50  7 35  0
    30 70 11 63  0    44 60 13 70 10   283 90  2 51  0    15 50 13 40 10
   test small
    25 30  2 69  0  -103 70 22 36 10    21 20  4 71  0    13 30  2 62  0
    87 60  2 60  0     2 40 36 44 10    20 30  9 54 10     7 20 11 66  0
    24 60  8 49  0    99 70  3 72  0     8 80  2 68  0    99 85  4 62  0
    61 70  2 71  0    25 70  2 70  0    95 70  1 61  0    80 50 17 71  0
    51 30 87 59 10    29 40  8 67  0
   test adeno
    24 40  2 60  0    18 40  5 69 10   -83 99  3 57  0    31 80  3 39  0
    51 60  5 62  0    90 60 22 50 10    52 60  3 43  0    73 60  3 70  0
     8 50  5 66  0    36 70  8 61  0    48 10  4 81  0     7 40  4 58  0
   140 70  3 63  0   186 90  3 60  0    84 80  4 62 10    19 50 10 42  0
    45 40  3 69  0    80 40  4 63  0
   test large
    52 60  4 45  0   164 70 15 68 10    19 30  4 39 10    53 60 12 66  0
    15 30  5 63  0    43 60 11 49 10   340 80 10 64 10   133 75  1 65  0
   111 60  5 64  0   231 70 18 67 10   378 80  4 65  0    49 30  3 37  0
   ;


   proc lifetest data=VALung plots=s
  OUTSURV= surv maxtime=600;
      time SurvTime*Censor(1);
      id Therapy;
      strata Cell;
      test Age Prior DiagTime Kps Treatment;
   run;

axis1 order=(0 to 0.8 by 0.1)  label = (angle= 90 height = 1.5) ;
   proc gplot data=    surv ;
   plot     Survival* SurvTime= Cell / vaxis= axis1;
   run;
   quit;
已有 2 人评分经验 论坛币 学术水平 收起 理由
bakoll + 3 + 3 精彩帖子
xuwei2007 + 1 根据规定进行奖励

总评分: 经验 + 3  论坛币 + 3  学术水平 + 1   查看全部评分

藤椅
jingju11 发表于 2010-1-15 11:35:02
2# bobguy

very good guildline above. But you may not be able to get the curves as you expected. Some minor things need to be tended. For example the missing survival values in the table from outsurv.

板凳
henryyhl 发表于 2012-11-2 09:40:58
学习了。正需要这方面的东西呢,众里寻他千百度啊。

报纸
henryyhl 发表于 2012-11-2 09:41:34
谢谢高人的精彩解答。刚才忘了说谢谢了。
It's not going to be easy, but it is going to be worth it.

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 21:20