Download Gauss manual: preface
Transcript
temp = data; i = ROWS(data); DO WHILE i >0; j = ROWS(colNums); DO WHILE j>0; IF colNums[j,DiffCol]/=0; /* diff */ IF i-colNums[j,DiffCol] > 0; /* enough obs */ IF (data[i,TCol]-colNums[j,DiffCol]) == (data[i-colNums[j,DiffCol],TCol]); tempCol = data[i-colNums[j,DiffCol]:i,colNums[j,ItemCol]]; IF NOT ISMISS(MISS(tempCol, errCode)); temp[i,colNums[j,1]] = tempCol'*PTriang(colNums[j,DiffCol], NOT False); ELSE; temp[i,TCol] = MISS(0,0); ENDIF; ELSE; temp[i,TCol] = MISS(0,0); ENDIF; ELSE; temp[i,TCol] = MISS(0,0); ENDIF; ELSEIF colNums[j,SeasCol]/=0; /* seasonal diff */ loc = INDNV(data[i,TCol]-ABS(colNums[j,SeasCol]),data[.,TCol]); IF SCALMISS(loc); temp[i,TCol] = MISS(0,0); ELSEIF data[i loc,colNums[j,1]] $/=errCode; temp[i,colNums[j,1]] =data[i,colNums[j,1]]-data[loc,colNums[j,1]]; ELSE; temp[i,TCol] = MISS(0,0); ENDIF; ELSEIF colNums[j, LagCol] /=0; /* lag/lead */ loc = INDNV(data[i,TCol]+colNums[j,LagCol],data[.,TCol]); IF SCALMISS(loc); temp[i,TCol] = MISS(0,0); ELSEIF data[loc,colNums[j,1]] $/=errCode; temp[i,colNums[j,1]] = data[loc,colNums[j,1]]; ELSE; temp[i,TCol] = MISS(0,0); ENDIF; ENDIF; IF SCALMISS(temp[i, TCol]); j = 0; ENDIF; j = j - 1; ENDO; i = i - 1; ENDO; RETP (temp); ENDP; PROC (3) = MakeXX (data, outName, infoName, calcMean, errCode, balOnly, keepRaw); /* /* /* GetLLD */ subSetT, colNums, Procedure to make cross-product matrix. Data should */ be in columnar form with the INDIVIDUAL IDENTIFIER i in */