楼主: jingju11
2231 1

[原创博文] 在 phreg 里编程的问题 [推广有奖]

已卖:379份资源

院士

30%

还不是VIP/贵宾

-

威望
3
论坛币
10965 个
通用积分
5.0866
学术水平
452 点
热心指数
463 点
信用等级
347 点
经验
76409 点
帖子
1937
精华
1
在线时间
3428 小时
注册时间
2009-5-22
最后登录
2020-1-26

楼主
jingju11 发表于 2009-10-6 05:14:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. /*code 1*/
  2. proc phreg data=VLid13;
  3. model  TimeTo1stRebound*Rebound1(0)=Xblip1-Xblip5 Xblip0/risklimits;
  4. array XblipAry{6} Xblip0-Xblip5;
  5.    if blip1=0 then do;
  6.   do i=1 to 6;
  7.    XblipAry{i}=0.0;
  8.    end;
  9.    XblipAry{1}=1.0;
  10. end;
  11.       else if TimeTo1stRebound<TimeToBlip then do;
  12.    do i=1 to 6;
  13.       XblipAry{i}=0.0;
  14.    end;
  15.    XblipAry{1}=1.0;
  16.   end;   
  17.    else  do;
  18.           if VLblip<199 then do;
  19.      do i=1 to 6;
  20.       XblipAry{i}=0.0;
  21.      end;
  22.      XblipAry{2}=1.0;  
  23.     end;
  24.      else if VLblip<399 then do;
  25.       do i=1 to 6;
  26.        XblipAry{i}=0.0;         
  27.       end;
  28.       XblipAry{3}=1.0;
  29.      end;
  30.       else if VLblip<599 then do;
  31.        do i=1 to 6;
  32.         XblipAry{i}=0.0;         
  33.        end;
  34.        XblipAry{4}=1.0;
  35.       end;
  36.        else if VLblip<799 then do;
  37.         do i=1 to 6;
  38.          XblipAry{i}=0.0;         
  39.         end;
  40.         XblipAry{5}=1.0;
  41.        end;
  42.         else do;
  43.          do i=1 to 6;
  44.          XblipAry{i}=0.0;         
  45.          end;
  46.          XblipAry{6}=1.0;
  47.         end;
  48.     end;
  49. run;
  50. /*code 2*/
  51. proc phreg data=VLid13;
  52. model  TimeTo1stRebound*Rebound1(0)=Xblip1-Xblip5 Xblip0/risklimits;
  53. array XblipAry{6} Xblip0-Xblip5;
  54. array tAry{7} _temporary_ (0. 50. 199. 399. 599. 799. 1000.);
  55. do i=1 to 6;
  56.   XblipAry{i}=0.0;
  57. end;
  58.    if blip1=0 then XblipAry{1}=1.0;
  59.       else if TimeTo1stRebound<TimeToBlip then XblipAry{1}=1.0;
  60.    else  do;
  61.            do i=1 to 6;
  62.      if VLblip >= tAry{i} then if  VLblip < tAry{i+1} then do;
  63.       XblipAry{i}=1;
  64.       return;
  65.      end;
  66.     end;
  67.    end;
  68. run;
复制代码


问题是code 1 和code 2 结果我认为应该相同。code 1 结果好像没有问题,code 2 Xblip1-Xblip5 是 缺失值,只有Xblip0.
我百思不得其解。恳求大家的帮助!!!
二维码

扫码加我 拉你入群

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

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

关键词:phreg PHR REG rebound limits

沙发
jingju11 发表于 2009-10-7 07:00:08
1# jingju11


  1. /*code 3*/
  2. proc phreg data=VLid13;
  3. model  TimeTo1stRebound*Rebound1(0)=Xblip1-Xblip5 Xblip0/risklimits;
  4. array XblipAry{6} Xblip0-Xblip5;
  5. do i=1 to 6;
  6.   XblipAry[i]=0.0;
  7. end;
  8.    if ^blip1 then Xblip0=1.0;
  9.   else if TimeTo1stRebound < TimeToBlip then Xblip0=1.0;
  10.    else  do;
  11.     if VLblip<199.0 then Xblip1=1.0;
  12.      else  if VLblip<399.0 then Xblip2=1.0;
  13.       else if VLblip<599.0 then Xblip3=1.0;
  14.        else if VLblip<799.0 then Xblip4=1.0;
  15.         else if VLblip<1000.0 then Xblip5=1.0;
  16.    end;
  17. run;
复制代码

花了很长时间在此。这个程序可以执行。只是把_temporary_ array给打开用了。问一问:是否_temporary_ array在phreg里不能用呢?

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

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