Here is my sas code. In the code, EGFRC=1 means eGFR<50. If eGFR>=50. EGFRC=0; data jalshassho; set base4; if (area=88 and 2005<=eyear) or (area=23 and 2004<=eyear) ; IF EGFRC=1 THEN ; ELSE DELETE; run; proc sort data = jalshassho; by REGI eyear; run ; DATA jalshassho1; SET jalshassho; BY REGI eyear ; if FIRST.REGI=1 THEN FIRST_HASSHO=1; IF FIRST_HASSHO=1 THEN; ELSE DELETE; KEEP REGI KENKAID eyear area EMONTH EDAY CRT EGFR_E EGFRC FIRST_HASSHO; RENAME eyear = EYEAR_CASE EMONTH = EMONTH_CASE EDAY = EDATE_CASE CRT = CRT_CASE EGFR_E = EGFR_CASE EGFRC = EGFRC_CASE; run; proc sort data=jalshassho1; by EYEAR_CASE area; run; DATA jalslast; SET base4; BY REGI eyear ; if LAST.REGI=1 THEN LAST_NENDO=1; IF LAST_NENDO=1 THEN; ELSE DELETE; KEEP REGI KENKAID eyear area EMONTH EDAY CRT EGFR_E EGFRC LAST_NENDO; RENAME eyear = EYEAR_LAST EMONTH = EMONTH_LAST EDAY = EDATE_LAST CRT = CRT_LAST EGFR_E = EGFR_LAST EGFRC = EGFRC_LAST ; run; data jalsbase0; set base4; activemets=sum(mets_shigoto_d,mets_hoko_d,mets_kaji_d,mets_undo_d,mets_yoka_d); run; data jalsbase; set jalsbase0; if activemets="." then delete; run; proc sort data=jalsbase; by regi; run; proc sort data=jalshassho1; by regi; run; proc sort data=jalslast; by regi; run; DATA jalskaiseki ; MERGE jalsbase jalslast jalshassho1; by REGI ; run; data jalskaiseki1; set jalskaiseki; GYEAR = (MDY(EMONTH_LAST,EDATE_LAST,EYEAR_LAST)-MDY(EMONTH, EDAY, eyear))/365.25 ; IF FIRST_HASSHO=1 then GYEAR = (MDY(EMONTH_CASE, EDATE_CASE, EYEAR_CASE)-MDY(EMONTH, EDAY, eyear))/365.25 ; IF GYEAR=. THEN delete; IF GYEAR=0 THEN delete; IF GYEAR<0 THEN delete; IF FIRST_HASSHO=. THEN FIRST_HASSHO=0; IF GYEAR=0 and FIRST_HASSHO=0 THEN delete;; run; data jalskaiseki2; set jalskaiseki1; DMC=.; IF GLU>0 or HBA1CNGSP>0 or HBA1CJDS>0 THEN DMC=0; IF FSTIME<8 AND GLU >=200 THEN DMC=1; IF GLU=. and HBA1CNGSP >=6.5 THEN DMC=1; IF GLU=. and HBA1CJDS >=6.1 THEN DMC=1; IF 8<=FSTIME<24 AND GLU >=126 THEN DMC=1; run; data jalskaiseki3; set jalskaiseki2; del = 0; if CHOL = . then del=1; if TG = . then del=1; if CRT = . then del=1; IF GYEAR=. then del=1; if sex =. then del=1; if AGE =. then del=1; if HT =. then del=1; if WT =. then del=1; if CRT =. then del=1; if eGFRC=1 then del=2; run; data jalskaiseki4; set jalskaiseki3; if del=1 then delete; if del=2 then delete; RUN; proc sort data = jalskaiseki4 ; by sex area;run; data jalskaiseki5; set jalskaiseki4; if activemets="." then delete; run; data jalskaiseki6; set jalskaiseki5; areas=.; if area=88 then areas=0; if area=23 then areas=1; sexa=.; if sex=1 then sexa=0; /*male*/ if sex=2 then sexa=1; /*female*/ run; /*spline curve*/ proc icphreg data=jalskaiseki6; model gyear*FIRST_HASSHO(0)=activemets sexa age DMC/basehaz=splines; hazardratio activemets; run; ****************************************** And here is the log; 274 data jalshassho; 275 set base4; 276 if (area=88 and 2005<=eyear) or (area=23 and 2004<=eyear) ; 277 IF EGFRC=1 THEN ; ELSE DELETE; 278 run; NOTE: dataset WORK.BASE4 is 88814 observations NOTE: dataset WORK.JALSHASSHO is 5915observations, 746 variables 279 proc sort data = jalshassho; 280 by REGI eyear; 281 run ; NOTE: dataset WORK.JALSHASSHO is 5915 observations NOTE: dataset WORK.JALSHASSHO is 5915observations, 746 variables 282 283 DATA jalshassho1; 284 SET jalshassho; 285 BY REGI eyear ; 286 if FIRST.REGI=1 THEN FIRST_HASSHO=1; 287 IF FIRST_HASSHO=1 THEN; ELSE DELETE; 288 289 KEEP REGI KENKAID eyear area EMONTH EDAY CRT EGFR_E EGFRC FIRST_HASSHO; 290 291 RENAME 292 eyear = EYEAR_CASE 293 EMONTH = EMONTH_CASE 294 EDAY = EDATE_CASE 295 CRT = CRT_CASE 296 EGFR_E = EGFR_CASE 297 EGFRC = EGFRC_CASE; 298 run; NOTE: dataset WORK.JALSHASSHO is 5915 observations NOTE: dataset WORK.JALSHASSHO1 is 1595observations, 10 variables 299 proc sort data=jalshassho1; 300 by EYEAR_CASE area; 301 run; NOTE: dataset WORK.JALSHASSHO1 is 1595 observations NOTE: dataset WORK.JALSHASSHO1 is 1595observations, 10 variables 302 303 304 DATA jalslast; 305 SET base4; 306 BY REGI eyear ; 307 if LAST.REGI=1 THEN LAST_NENDO=1; 308 IF LAST_NENDO=1 THEN; ELSE DELETE; 309 310 KEEP REGI KENKAID eyear area EMONTH EDAY CRT EGFR_E EGFRC LAST_NENDO; 311 312 RENAME 313 eyear = EYEAR_LAST 314 EMONTH = EMONTH_LAST 315 EDAY = EDATE_LAST 316 CRT = CRT_LAST 317 EGFR_E = EGFR_LAST 318 EGFRC = EGFRC_LAST ; 319 run; NOTE: dataset WORK.BASE4 is 88814 observations NOTE: dataset WORK.JALSLAST is 15893observations, 10 variables 320 321 data jalsbase0; 322 set base4; 323 activemets=sum(mets_shigoto_d,mets_hoko_d,mets_kaji_d,mets_undo_d,mets_yoka_d); 324 run; NOTE: dataset WORK.BASE4 is 88814 observations NOTE: dataset JALSBASE0 is 88814observations, 746 variables 325 data jalsbase; 326 set jalsbase0; 327 if activemets="." then delete; run; NOTE: dataset WORK.JALSBASE0 is 88814 observations NOTE: dataset WORK.JALSBASE is 3216observations, 746 variables 328 proc sort data=jalsbase; 329 by regi; 330 run; NOTE: dataset WORK.JALSBASE is 3216 observations NOTE: dataset WORK.JALSBASE is 3216observations, 746 variables 331 proc sort data=jalshassho1; 332 by regi; 333 run; NOTE: dataset JALSHASSHO1 is 1595 observations NOTE: dataset WORK.JALSHASSHO1 is 1595observations, 10 variables 334 proc sort data=jalslast; 335 by regi; 336 run; NOTE: dataset WORK.JALSLAST is 15893 observations NOTE: dataset WORK.JALSLAST is 15893observations, 10 variables 337 338 339 DATA jalskaiseki ; 340 MERGE 341 jalsbase 342 jalslast 343 jalshassho1; 344 by REGI ; 345 run; NOTE: dataset WORK.JALSBASE is 3216 observations NOTE: dataset WORK.JALSLAST is 15893observations NOTE: dataset WORK.JALSHASSHO1 is 1595 observations NOTE: dataset WORK.JALSKAISEKI is 15894 observations, 761 variables 346 data jalskaiseki1; 347 set jalskaiseki; 348 GYEAR = (MDY(EMONTH_LAST,EDATE_LAST,EYEAR_LAST)-MDY(EMONTH, EDAY, eyear))/365.25 ; 349 350 IF FIRST_HASSHO=1 351 then GYEAR = (MDY(EMONTH_CASE, EDATE_CASE, EYEAR_CASE)-MDY(EMONTH, EDAY, eyear))/365.25 351! ; 352 353 IF GYEAR=. THEN delete; 354 IF GYEAR=0 THEN delete; 355 IF GYEAR<0 THEN delete; 356 IF FIRST_HASSHO=. THEN FIRST_HASSHO=0; 357 358 IF GYEAR=0 and FIRST_HASSHO=0 THEN delete;; 359 run; NOTE: dataset WORK.JALSKAISEKI is 15894 observations NOTE: dataset WORK.JALSKAISEKI is 3025 observations, 762 variables 360 361 362 data jalskaiseki2; 363 set jalskaiseki1; 364 365 366 DMC=.; 367 IF GLU>0 or HBA1CNGSP>0 or HBA1CJDS>0 THEN DMC=0; 368 IF FSTIME<8 AND GLU >=200 THEN DMC=1; 369 IF GLU=. and HBA1CNGSP >=6.5 THEN DMC=1; 370 IF GLU=. and HBA1CJDS >=6.1 THEN DMC=1; 371 IF 8<=FSTIME<24 AND GLU >=126 THEN DMC=1; 372 run; NOTE: dataset WORK.JALSKAISEKI1 is 3025 observations NOTE: dataset WORK.JALSKAISEKI2 is 3025observations, 763 variables 373 374 data jalskaiseki3; 375 set jalskaiseki2; 376 del = 0; 377 378 if CHOL = . then del=1; 379 if TG = . then del=1; 380 if CRT = . then del=1; 381 382 IF GYEAR=. then del=1; 383 if sex =. then del=1; 384 if AGE =. then del=1; 385 if HT =. then del=1; 386 if WT =. then del=1; 387 if CRT =. then del=1; 388 389 if eGFRC=1 then del=2; 390 391 run; NOTE: dataset WORK.JALSKAISEKI2 is 3025 observations NOTE: dataset WORK.JALSKAISEKI3 is 3025 observations, 764 variables 392 393 394 data jalskaiseki4; 395 set jalskaiseki3; 396 if del=1 then delete; 397 if del=2 then delete; 398 399 RUN; NOTE: dataset WORK.JALSKAISEKI2 is 3025 observations NOTE: dataset WORK.JALSKAISEKI4 is 2873observations, 764 variables 400 401 proc sort data = jalskaiseki4 ; by sex area;run; NOTE: dataset WORK.JALSKAISEKI4 is 2873 observations NOTE: dataset WORK.JALSKAISEKI4 is 2873 observations, 764 variables 402 data jalskaiseki5; 403 set jalskaiseki4; 404 if activemets="." then delete; run; NOTE: dataset WORK.JALSKAISEKI4 is 2873 observations NOTE: dataset WORK.JALSKAISEKI5 is 2873 observations, 764 variables 405 data jalskaiseki6; 406 set jalskaiseki5; 407 areas=.; 408 if area=88 then areas=0; 409 if area=23 then areas=1; 410 sexa=.; 411 if sex=1 then sexa=0; /*male*/ 412 if sex=2 then sexa=1; /*female*/ 413 run; NOTE: dataset WORK.JALSKAISEKI5 is 2873 observations NOTE: dataset WORK.JALSKAISEKI6 is 2873 observations, 766 variables 414 415 /*spline curve*/ NOTE: there is an error 416 proc icphreg data=jalskaiseki6; 417 model gyear*FIRST_HASSHO(0)=activemets sexa age DMC/basehaz=splines; ----- 79 76 ERROR 79-322: designate ( ERROR 76-322: there is a syntax error. We ignored the statement. 418 hazardratio activemets; 419 run; ***************************** The comment in the log is my translation. Sorry it's long. Could you tell me what is the problem?
... View more