Создать константу для каждого непропущенного значения даты
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | *(Вопрос) Есть вопрос по синтаксису SPSS. Дана следующая переменная: VAR1 . . . 10/5/2001 . 10/3/2001 . . Мне бы надо (в данном случае) создать 2 новые переменные-константы, содержащие значения непропущенных дат из переменной VAR1 (10.05.2001 и 10.03.2001). В более общем случае, как можно создавать переменные со значениями непропущенных дат из VAR1, когда число непропущенных дат неизвестно? *(Ответ) Размещено в SPSSX-L 05.10.2001, автор: rlevesque@videotron.ca. DATA LIST LIST /VAR1(ADATE). BEGIN DATA . . . 10/5/2001 . 10/3/2001 . . END DATA. LIST. SAVE OUTFILE='c:\\temp\\mydata.sav'. FORMATS var1(F14.2). STRING cst(A8) . DO IF $CASENUM=1. + COMPUTE idx=~MISSING(var1). + DO IF ~MISSING(var1). + COMPUTE cst=CONCAT('c',LTRIM(STRING(idx,F7.0))). + WRITE OUTFILE 'c:\\temp\\syntax.sps' /"COMPUTE ",cst,"=",var1,"." /"FORMATS ",cst,"(ADATE11).". + END IF. ELSE IF ~MISSING(var1). + COMPUTE idx=LAG(idx)+1. + COMPUTE cst=CONCAT('c',LTRIM(STRING(idx,F7.0))). + WRITE OUTFILE 'c:\\temp\\syntax.sps' /"COMPUTE ",cst,"=",var1,"." /"FORMATS ",cst,"(ADATE11).". ELSE. + COMPUTE idx=LAG(idx). END IF. EXECUTE. GET FILE='c:\\temp\\mydata.sav'. INCLUDE FILE='c:\\temp\\syntax.sps'. VARIABLE WIDTH ALL(10). EXECUTE. |
Related pages
...