/***************************************** Program to create all the non Credit Card Created Variables for the Consumer Finance Monthly (CFM, like net worth and income. *******************************************/ OPTIONS PAGESIZE=59 LINESIZE=80 PAGENO=1 NODATE ERRORS=1 NOLABEL; %Macro Range (TheValue, Low, High); if (&Low >= 0) and (&High > 0) then do; /* Did the respondent use a range? */ /* Check to make sure the low value is smaller than the high */ if (&Low >= 0) and (&High >= 0) and (&Low > &High) then do; TempSwap = &High; &High = &Low; &Low = TempSwap; end; /* Now split the difference */ &TheValue = int((&High - &Low) / 2) + &Low; end; %Mend Range; %Macro Unfolding (TheValue, LowBracket, HighBracket, ENTRY_AMT, LowValue, HighValue); if (&LowBracket = 0) then &TheValue = &LowValue / 2; if (&LowBracket = 1) then &TheValue = (&ENTRY_AMT - &LowValue)/2 + &LowValue; if (&HighBracket = 0) then &TheValue = (&HighValue - &ENTRY_AMT)/2 + &ENTRY_AMT; if (&HighBracket = 1) then &TheValue = &HighValue; %Mend Unfolding; %Macro UnfoldingTotInc (TheValue, LowBracket, HighBracket); ENTRY_AMT = 50000; if (&LowBracket = 0) then &TheValue = 15000; if (&LowBracket = 1) then &TheValue = (ENTRY_AMT - 30000)/2 + 30000; if (&HighBracket = 0) then &TheValue = (80000 - ENTRY_AMT)/2 + ENTRY_AMT; if (&HighBracket = 1) then &TheValue = 80000; %Mend UnfoldingTotInc; %Macro Unfold (TheValue, LowBracket, HighBracket, ENTRY_AMT, LowValue, HighValue); if (&LowBracket = 0) then &TheValue = &LowValue / 2; if (&LowBracket = 1) then &TheValue = (&ENTRY_AMT - &LowValue)/2 + &LowValue; if (&HighBracket = 0) then &TheValue = (&HighValue - &ENTRY_AMT)/2 + &ENTRY_AMT; if (&HighBracket = 1) then &TheValue = &HighValue; %Mend Unfold; /************************/ /* READ DATA SECTION */ /************************/ /* Extract all CFM variables. Put file name of SAS file created by NLS Investigator is below. EDIT this file by dropping the format; proc means; and run; commands at the end of the file. */ %Include "C:\Documents and Settings\All Users\Desktop\CFM\AllCFMVariables.sas"; /* Comment the next line out if you want created variables for ALL CFM cases */ %Include "C:\Documents and Settings\All Users\Desktop\CFM\DatesToUse.sas"; TRUE = 1; FALSE = 0; ID = R0000100; run; DATA CFM6; SET new_data; if R5050000=15568 then delete; if R5050000=15752 THEN R3300000=100009/12; if R5050000=15595 THEN R2100000=140000/12; IF R5050000=15557 THEN R2100000=0; IF R5050000=15557 THEN R3300000=100009/12; IF R5050000=15781 THEN R4200000=114000; IF R5050000=15781 THEN R3440000=0; IF R5050000=15577 THEN R4260000=500000; IF R5050000=15520 THEN R3510000=0; IF R5050000=15520 THEN R3440000=0; IF R5050000=15557 THEN R4350000=234000; IF R5050000=15625 THEN R4630000=1000000; IF R5050000=15748 THEN R4630000=1000000; IF R5050000=15625 THEN R4630000=1000000; IF R5050000=15582 THEN R41900000=70260; IF R5050000=15531 THEN R41900000=178000; IF R5050000=15636 THEN R41900000=90000; IF R5050000=15555 THEN R41900000=196600; IF R5050000=15729 THEN R41900000=90500; IF R5050000=15498 THEN R41900000=137110; IF R5050000=15748 THEN R41900000=381000; IF R5050000=15499 THEN R41900000=114300; IF R0000100=2053712629 THEN R41900000=122661; IF R0000100=2078396077 THEN R41900000=243000; IF R0000100=2813511404 THEN R41900000=0.5*(190000+219000); IF R0000100=3607799949 THEN R41900000=0.5*(330000+297000); IF R0000100=4088424956 THEN R41900000=0.5*(301500+253000); IF R0000100=4198656392 THEN R41900000=0.5*(80000+53000); IF R0000100=5016245435 THEN R41900000=26000; IF R0000100=5049486269 THEN R41900000=69084; IF R0000100=6128667713 THEN R41900000=0.5*(210500+187254); IF R0000100=6152743528 THEN R41900000=174500; IF R0000100=6202767503 THEN R41900000=139194; IF R0000100=7123224856 THEN R41900000=94536; IF R0000100=7187206535 THEN R41900000=260000; IF R0000100=9038947395 THEN R41900000=34900; IF R0000100=9073371770 THEN R41900000=0.5*(288000+312840); IF R0000100=9567810603 THEN R41900000=73000; if (R1940001=1) or (R1950001=1) then HaveRWage = TRUE; else HaveRWage = FALSE; if (R1940002=1) then HaveSpWage = TRUE; else HaveSpWage = FALSE; if (R1940003=1) or (R1950002=1) then HaveFarm = TRUE; else HaveFarm = FALSE; if (R1940004=1) or (R1950003=1) then HaveBiz = TRUE; else HaveBiz = FALSE; if (R1940005=1) or (R1950004=1) then HaveUnemp = TRUE; else HaveUnemp = FALSE; if (R1940006=1) or (R1950005=1) then HaveAlimony = TRUE; else HaveAlimony = FALSE; if (R1940007=1) or (R1950006=1) then HaveFoodStamp = TRUE; else HaveFoodStamp = FALSE; if (R1940008=1) or (R1950007=1) then HaveGIBill = TRUE; else HaveGIBill = FALSE; if (R1940009=1) or (R1950008=1) then HaveScholar = TRUE; else HaveScholar = FALSE; if (R1940010=1) or (R1950009=1) then HaveProp = TRUE; else HaveProp = FALSE; if (R1940011=1) or (R1950010=1) then HaveInterest = TRUE; else HaveInterest = FALSE; /*----- Income ------*/ label R1870000 = "TOTAL HH INCOME LAST YEAR (APP OR LOW) R1"; label R1880000 = "TOTAL HH INCOME LAST YEAR (HI) R1"; /* Rs Best Guess At Total Income. Starting this wave (W4), single and married asked the same q */ TotIncome1 = R1870000; /* TOTAL INCOME LAST YEAR (LO) R1 */ %Range (TotIncome1, R1870000, R1880000); %UnfoldingTotInc (TotIncome1, R1910000, R1920000); SINGLEINCOME=TotIncome1; /* ----- Disaggregated Income. Come up with total ----- */ /* Business/Farm Income */ BizInc = R2100000; /* INC FROM OWN FARM LAST MO R1 */ %Range (BizInc, R2100000, R2110000); %Unfolding (BizInc, R2140000, R2150000, 1250, 250, 10000); /*JAY'S EDITS*/ IF R0000100=8086971632 THEN BIZINC=90000/12; IF R0000100=8174773045 THEN BIZINC=18300; /* Business/Farm LOSS */ BizLOSS = R2180000 ; /* AMOUNT OF LOSS FROM FARM R1 */ %Range (BizLOSS, R2180000, R2190000); %Unfolding (BizLOSS, R2220000, R2230000, 1250, 250, 4000); /* FILL IN R WAGES HERE */ IF R1940001=3 THEN R_Wage = -2; ELSE IF R1940001=4 THEN R_Wage = -1; ELSE IF R1940001=0 THEN R_Wage = -4; ELSE R_Wage = 0; RAmount = 0; RHourRerWeek = 0; RTimeUnit = 0; RDaysRerWeek = 0; /* This section is really two parts. The first part is for people who report earning hourly wage */ if (R2280000=1) then RTimeUnit = 1; if (R2290000>0) then RAmount = R2290000; if (R2300000>0) then RHourRerWeek = R2300000; /* Here is the second part for people who do not report earning an hourly wage */ if (R2330000>0) then RTimeUnit = R2330000; if (R2420000>0) then RAmount = R2420000; if (R2440000>0) then RDaysRerWeek = R2440000; if (R2450000>0) then RHourRerWeek = R2450000; /* Come up with a total */ if (RTimeUnit = 1) /* Hourly */ then R_Wage = RAmount * RHourRerWeek * (52 / 12); if (RTimeUnit = 2) /* Daily */ then R_Wage = RAmount * RDaysRerWeek * (52 / 12); if (RTimeUnit = 3) /* Weekly */ then R_Wage = RAmount * (52 / 12); if (RTimeUnit = 4) /* Bi-Weekly */ then R_Wage = (RAmount / 2) * (52 / 12); if (RTimeUnit = 5) /* Monthly */ then R_Wage = RAmount; if (RTimeUnit = 6) /* Yearly */ then R_Wage = RAmount / 12; if (RTimeUnit = 8) /* Bi-Monthly */ then R_Wage = RAmount * 2; /* Bonus, tips and commissions */ /*JAY'S EDIT*/ IF R0000100=8285265938 THEN R2470000=16000/12; IF R2320000>=0 OR R2470000>=0 THEN Bonus = MAX(0,R2320000) + MAX(0,R2470000); ELSE Bonus = MAX(R2320000,R2470000); /* AMOUNT OF MONEY EARNED ABOVE EARNING + AMT OF EARNINGS ABOVE USUAL JOB 2 */ /* 2nd Job */ OtherJob = R2490000; /* AMT OF $ EARNED AT OTH JOBS LAST MO */ /* Spouse Wages */ IF R1940002=3 THEN SP_Wage = -2; ELSE IF R1940002=4 THEN SP_Wage = -1; ELSE IF R1940002=0 THEN SP_Wage = -4; ELSE SP_Wage = 0; SPTimeUnit = R2530000; if (SPTimeUnit < 0) then SPTimeUnit = 0; SPAmount = R2620000; if (SPAmount < 0) then SPAmount = 0; SPHoursPerWeek = R2650000; if (SPHoursPerWeek < 0) then SPHoursPerWeek = 0; if (SPTimeUnit = 1) /* Hourly */ then SP_Wage = SPAmount * SPHoursPerWeek * (52 / 12); if (SPTimeUnit = 2) /* Daily */ then SP_Wage = SPAmount * (SPHoursPerWeek / 7) * (52 / 12); if (SPTimeUnit = 3) /* Weekly */ then SP_Wage = SPAmount * (52 / 12); if (SPTimeUnit = 4) /* Bi-Weekly */ then SP_Wage = (SPAmount / 2) * (52 / 12); if (SPTimeUnit = 5) /* Monthly */ then SP_Wage = SPAmount; if (SPTimeUnit = 6) /* Yearly */ then SP_Wage = SPAmount / 12; if (SPTimeUnit = 8) /* Bi-Monthly */ then SP_Wage = SPAmount * 2; /* Unemployment Insurance */ UI = R2690000; /* HH UNEMP/DISABL RECEIPTS LAST MONTH - CV-UNEMPDIS1 */ %Range (UI, R2690000, R2700000); %Unfolding (UI, R2730000, R2740000, 1000, 500, 1500); /* Alimony */ Alimony = R2780000 ; /* AMOUNT RECEIVED IN CH SUPPORT/ALIMONY LST MO */ %Range (Alimony, R2780000, R2790000 ); %Unfolding (Alimony, R2820000, R2830000, 400, 300, 1000); /* Government Assistance: Food Stamps, SSI, TANF, etc. */ GovAssist = R2940000 ; /* TOT RECD FROM ASSISTANCE LAST MO R1 */ %Range (GovAssist, R2940000 , R2950000); %Unfolding (GovAssist, R2980000, R2990000, 600, 200, 1000); /* Educational Assistance: Scholarships, etc. */ EducAssist = R3030000; %Unfolding (EducAssist, R3070000, R3080000, 1000, 300, 2000); /* Other */ /*Jay's Edit*/ IF R0000100=4256721190 THEN R3300000=30000/12; Other = R3300000; %Unfolding (Other, R3340000, R3350000, 500, 100, 4000); * ******** Credit card: PAYOFF, A8 - How much paid combining bank + store (for one card or more than one); * CC; IF R0430000<0 & R0460000<0 & R0500000<0 & R0540000<0 THEN CCPAY=-4; ELSE CCPAY=MAX(R0430000,R0460000,R0500000,R0540000); LABEL CCPAY="CREDIT CARDS PAYMENT, LOGO only"; * ******** Credit card: CC, inc no logo; IF R0430000<0 & R0460000<0 & R0500000<0 & R0540000<0 & R0740000<0 THEN CCPAYX=-4; ELSE CCPAYX=MAX(R0430000,R0460000,R0500000,R0540000)+MAX(0,R0740000); LABEL CCPAYX="CREDIT CARDS PAYMENT, INC STORE AND GAS W/O LOGOS"; * Note: After CCPayoff, CCDebt is determined first because it is (alomost) readily available ; CC1 = R0510000; CC1 = MAX(R0510000,R0550000); LABEL CC1="CCDEBT FOR CURRENT CREDIT CARD W/ LOGO"; %Range (CC1,R0550000,R0560000); OldCC = R0710000; %Range (OldCC, R0710000, R0720000); StoreCC = R0750000; * CCDEBT (NOLOGO), after payoff ; IF CC1<0 & OldCC<0 & R0350000=0 THEN CCDEBTLOGO=-4; ELSE IF CC1<0 & OldCC<0 THEN CCDEBTLOGO=MAX(CC1,OldCC); ELSE CCDEBTLOGO = MAX(0,CC1)+MAX(0,OldCC); LABEL CCDEBTLOGO="CC Balance After Payoff, LOGO only"; * CCDEBT, inc no logo [ALL]: R5090000=CV-CCDEBT on ALL, THE CCDEBT; IF CC1<0 & OldCC<0 & StoreCC<0 & R0350000=0 THEN CCDEBTX=-4; ELSE IF CC1<0 & OldCC<0 & StoreCC<0 THEN CCDEBTX=MAX(CC1,OldCC,StoreCC); ELSE CCDEBTX = MAX(0,CC1)+MAX(0,OldCC)+MAX(0,StoreCC); LABEL CCDEBTX="CC Balance After Payoff, CV-CCDEBT (on ALL)"; * CCDEBT0, LOGO only, before payoff; IF CCDEBTLOGO>=0 & CCPAY>=0 THEN CCDEBT0=CCDEBTLOGO+CCPAY; ELSE IF CCDEBTLOGO>=0 OR CCPAY>=0 THEN CCDEBT0=MAX(0,CCDEBTLOGO)+MAX(0,CCPAY); ELSE CCDEBT0=MAX(CCDEBTLOGO,CCPAY); LABEL CCDEBT0="CC Balance Before Payoff"; * CCDEBTOX, inc no logo [ALL], before payoff ; IF CCDEBTX>=0 & CCPAYX>=0 THEN CCDEBT0X=CCDEBTX+CCPAYX; ELSE IF CCDEBTX>=0 OR CCPAYX>=0 THEN CCDEBT0X=MAX(0,CCDEBTX)+MAX(0,CCPAYX); ELSE CCDEBT0X=MAX(CCDEBTX,CCPAYX); LABEL CCDEBT0X="CC Balance Before Payoff, No-Logo CC inc"; /******************************/ /* Type of Assets Owned */ /******************************/ /* Responses are 1-YES 0-NO 3-DK 4-R*/ if (R3390001 = 1) then HaveSavings = TRUE; else HaveSavings = FALSE; if (R3390002 = 1) then HaveCDs = TRUE; else HaveCDs = FALSE; if (R3390003 = 1) then HaveSavingsBonds = TRUE; else HaveSavingsBonds = FALSE; if (R3390004 = 1) then HaveMutualFunds = TRUE; else HaveMutualFunds = FALSE; if (R3390005 = 1) then HaveEmployerRetire = TRUE;else HaveEmployerRetire = FALSE; if (R3390006 = 1) then HaveIRAs = TRUE; else HaveIRAs = FALSE; if (R3390007 = 1) then HaveStocks = TRUE; else HaveStocks = FALSE; if (R3390008 = 1) then HaveBonds = TRUE; else HaveBonds = FALSE; if (R3390009 = 1) then HaveOther = TRUE; else HaveOther = FALSE; if (R3400000= 1) then HaveOwedToR = TRUE; else HaveOwedToR = FALSE; if (R3410000= 1) then HaveLifeInsure = TRUE; else HaveLifeInsure = FALSE; /******************************/ /* Financial Assets */ /******************************/ /*e.g.: %Unfolding (BizInc, R2140000, R2150000, 1250, 250, 4000); */ /* Cash Savings */ Savings = R3440000; /* $ IN CHCKING/SVINGS/MONEY MRKT ACCT*/ %Range (Savings, R3440000, R3450000); %Unfolding (Savings, R3480000, R3490000, 10000, 2000, 100000); /* Certificiates of Deposit */ CDs = R3510000; /* $ IN CHCKING/SVINGS/MONEY MRKT ACCT R1 */ %Range (CDs, R3510000, R3520000); %Unfolding (CDs, R3550000, R3560000, 10000, 2000, 60000); /* Savings Bonds */ SavingsBonds = R3580000; /* AMT OF CASHED US SAVINGS BONDS R1 */ %Range (SavingsBonds, R3580000, R3590000); %Unfolding (SavingsBonds, R3620000, R3630000, 3000, 1000, 20000); /* Mutual Funds */ MutualFunds = R3650000; %Range (MutualFunds, R3650000, R3660000); %Unfolding (MutualFunds, R3690000, R3700000, 30000, 10000, 150000); /* Life Insurance */ LifeInsure = R3720000; %Range (LifeInsure, R3720000, R3730000); %Unfolding (LifeInsure, R3760000, R3770000, 20000, 10000, 100000); /* Employer Sponsored Retirement Plans */ EmployerRetire = R3790000; %Range (EmployerRetire, R3790000, R3800000); %Unfolding (EmployerRetire, R3830000, R3840000, 40000, 10000, 150000); /* IRAs, Keogh plans, variable annuities or 529 plans */ IRAs = R3860000; %Range (IRAs, R3860000, R3870000); %Unfolding (IRAs, R3900000, R3910000, 10000, 5000, 100000); /* Stock */ Stock = R3930000; %Range (Stock, R3930000, R3940000); %Unfolding (Stock, R3970000, R3980000, 30000, 5000, 250000); /*JAYS'S EDIT*/ IF R0000100=5093342417 THEN STOCK=0; IF R0000100=8285265938 THEN STOCK=0; /* Bonds */ Bonds = R4000000; %Range (Bonds, R4000000, R4010000); %Unfolding (Bonds, R4040000, R4050000, 30000, 5000, 100000); /* AMOUNT OWED TO R */ OwedToR = R4070000; %Range (OwedToR, R4070000, R4080000); %Unfolding (OwedToR, R4110000, R4120000, 3000, 1000, 20000); * Financial = Savings + CDs + SavingsBonds + MutualFunds + LifeInsure + EmployerRetire + IRAs + Stock + Bonds + OwedToR; /******************************/ /* Physical Assets */ /******************************/ if (R4180000 = 1 or -4) then HaveHome = TRUE; else HaveHome = FALSE; if (R4250000= 1) then HaveOtherProp = TRUE; else HaveOtherProp = FALSE; if (R4320000= 1) then HaveBusiness = TRUE; else HaveBusiness = FALSE; if (R4470000= 1) then HaveVehicles = TRUE; else HaveVehicles = FALSE; /* Home */ Home = R4190000; %Range (Home, R4190000, R4200000); %Unfolding (Home, R4230000, R4240000, 200000, 100000, 350000); /* ADD EDITS FROM JAY AND CURT*/ IF R0000100=7033394635 THEN HOME=521010; IF R0000100=9169397000 THEN HOME=489999; IF R0000100=7322801135 THEN HOME=474200; IF R0000100=4078705488 THEN HOME=237900; IF R0000100=8286810504 THEN HOME=199800; IF R0000100=4807045437 THEN HOME=197500; IF R0000100=5203990126 THEN HOME=173474; IF R0000100=4409925196 THEN HOME=158400; IF R0000100=3175858680 THEN HOME=151800; IF R0000100=4197546101 THEN HOME=96000; IF R0000100=3096618278 THEN HOME=89500; IF R0000100=2318937621 THEN HOME=223000; IF R0000100=3305340532 THEN HOME=90500; IF R0000100=4079437340 THEN HOME=201000; IF R0000100=4194724184 THEN HOME=106500; IF R0000100=4254866975 THEN HOME=356500; IF R0000100=5408544246 THEN HOME=195400; IF R0000100=5802568370 THEN HOME=28122; IF R0000100=5867271693 THEN HOME=165720; IF R0000100=6106927293 THEN HOME=239000; IF R0000100=6106963242 THEN HOME=413000; IF R0000100=7022477015 THEN HOME=322000; IF R0000100=7145228190 THEN HOME=344500; IF R0000100=7403453758 THEN HOME=77000; IF R0000100=7406339312 THEN HOME=51950; IF R0000100=7575390965 THEN HOME=162500; IF R0000100=7704241259 THEN HOME=149500; IF R0000100=8042725176 THEN HOME=285000; IF R0000100=8129256285 THEN HOME=46700; IF R0000100=8148998100 THEN HOME=95500; IF R0000100=9016859925 THEN HOME=172000; IF R0000100=9103970659 THEN HOME=214000; IF R0000100=9378377886 THEN HOME=100000; IF R0000100=9722266382 THEN HOME=172000; IF R0000100=2105996830 THEN HOME=139500; IF R0000100=2548425487 THEN HOME=113220; IF R0000100=2567530657 THEN HOME=94200; IF R0000100=3135610094 THEN HOME=118000; IF R0000100=3526880492 THEN HOME=325000; IF R0000100=3612419961 THEN HOME=136000; IF R0000100=5137340466 THEN HOME=84500; IF R0000100=5706198157 THEN HOME=150500; IF R0000100=6103282940 THEN HOME=288500; IF R0000100=2098336870 THEN HOME=585000; /* Other Property */ OtherProperty = R4260000; %Range (OtherProperty, R4260000, R4270000); %Unfolding (OtherProperty, R4300000, R4310000, 100000, 25000, 300000); /* Gross Business */ GrossBusiness = R4350000; %Range (GrossBusiness, R4350000, R4360000); %Unfolding (OtherProperty, R4380000, R4390000, 200000, 50000, 750000); /*JAY'S EDIT*/ IF R0000100=2098336870 THEN GROSSBUSINESS=3000000; /* Total Debt on Business */ BusDebt = R4410000; %Range (BusDebt, R4410000, R4420000); %Unfolding (BusDebt, R4450000, R4460000, 100000, 25000, 240000); IF GrossBusiness>=0 & BusDebt>=0 THEN BusEquity=GrossBusiness-BusDebt; ELSE IF GrossBusiness>=0 OR BusDebt>=0 THEN BusEquity=MIN(-3,GrossBusiness,BusDebt); ELSE BusEquity=MAX(GrossBusiness,BusDebt); /* Vehicles */ Vehicles = R4480000; %Range (Vehicles, R4480000, R4490000); %Unfolding (Vehicles, R4520000, R4530000, 15000, 5000, 25000); /* Total Possessions */ Possess = R4540000; %Range (Possess, R4540000, R4550000); %Unfolding (Possess, R4580000, R4590000, 10000, 3000, 30000); if (Possess > 0) then HavePossess = TRUE; else HavePossess = FALSE; *** Other Income/NW-Related CVs [e.g. Inheritance]. Not includded in Monthly Income's Calculation; /* Business/Farm Income */ ALIMONYPAY = R2850000; /* CH SUPP/ALIMONY PAYMENTS AT LEAST ENTRY AMOUNT */ %Range (ALIMONYPAY, R2850000, R2860000); %Unfolding (ALIMONYPAY, R2890000, R2900000, 400, 300, 1000); /* Inheritance (Received Last Month) */ INHERITANCE = R3210000; /* MARKET VALUE OF ESTATES/INHER/TRUSTS/GIFTS */ %Range (INHERITANCE, R3210000, R3220000); %Unfolding (INHERITANCE, R3250000, R3260000, 500, 300, 40000 ); CUMONEY = R6180000; /* TOT HH MONEY IN CREDIT UNIONS */ %Range (CUMONEY, R6180000, R6190000); %Unfolding (CUMONEY, R6220000, R6230000, 10000, 2000, 100000); /******************************/ /* Debts */ /******************************/ /* There is a loop of 7 debt type questions 1 - Mortage 2 - Home Equity 3 - Student Loan 4 - Installment loan 5 - Bank loan 6 - Pay day loan 7 - Other */ if (R1030001> 0) then HaveMortgage = TRUE; else HaveMortgage = FALSE; if (R1030002> 0) then HaveHomeEquity = TRUE; else HaveHomeEquity = FALSE; if (R1030003> 0) then HaveStudentLoan = TRUE; else HaveStudentLoan = FALSE; if (R1030004> 0) then HaveInstallment = TRUE; else HaveInstallment = FALSE; if (R1030005> 0) then HaveBankLoan = TRUE; else HaveBankLoan = FALSE; if (R1030006> 0) then HavePayDayLoan = TRUE; else HavePayDayLoan = FALSE; if (R1030007> 0) then HaveOtherLoan = TRUE; else HaveOtherLoan = FALSE; if (CCDEBTX > 0) then HaveCCDEBT = TRUE; else HaveCCDEBT = FALSE; if (BusDebt > 0) then HaveBusinessDebt = TRUE; else HaveBusinessDebt = FALSE; /*if (R1110000> 0) then AmtMortgage = R1110000; else AmtMortgage = 0;*/ /*if (R1110100> 0) then AmtHomeEquity = R1110100; else AmtHomeEquity = 0;*/ /*if (R1110200> 0) then AmtStudentLoan = R1110200; else AmtStudentLoan = 0;*/ /*if (R1110300> 0) then AmtInstallment = R1110300; else AmtInstallment = 0;*/ /*if (R1110400> 0) then AmtBankLoan = R1110400; else AmtBankLoan = 0;*/ /*if (R1110500> 0) then AmtPayDayLoan = R1110500; else AmtPayDayLoan = 0;*/ /*if (R1110600> 0) then AmtOtherLoan = R1110600; else AmtOtherLoan = 0;*/ AmtMortgage=R1110000; %Range(AmtMortgage, R1110000, R1120000); AmtHomeEquity=R1110100; %Range(AmtHomeEquity, R1110100, R1120100); AmtStudentLoan=R1110200; %Range(AmtStudentLoan, R1110200, R1120200); AmtInstallment=R1110300; %Range(AmtInstallment, R1110300, R1120300); AmtBankLoan=R1110400; %Range(AmtBankLoan, R1110400, R1120400); AmtPayDayLoan=R1110500; %Range(AmtPayDayLoan, R1110500, R1120500); AmtOtherLoan=R1110600; %Range(AmtOtherLoan, R1110600, R1120600); ********** Other CVs ****************************; * OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OTHERS ; * RACE ; IF R0180005=1 THEN RACE=4; ELSE IF R0170000=1 OR R0180007=1 THEN RACE=3; ELSE IF R0180001=1 THEN RACE=1; ELSE IF R0180002=1 THEN RACE=2; ELSE RACE=5; * AGE AT INTERVIEW DATE ; IF R0140000>0 THEN AGER=R5430002-R0140000; ELSE AGER=R0140000; IF R0250000>0 THEN AGESP=R5430002-R0250000; ELSE AGESP=R0250000; YYYYMMDD=R5430002*10000+R5430001*100+R5430000; IF HOME>0 & AmtMortgage>0 THEN LTV=AmtMortgage/HOME; ELSE LTV=.; /******************************************************************/ /**** INCOME & NETWORTH DETERMINATION ***************************/ /******************************************************************/ ************ Income ; * Converting Valid Skip (-4) to none ($0); array YSUB1 BizInc BizLOSS R_Wage Bonus OtherJob SP_Wage UI Alimony GovAssist EducAssist Other /* ALIMONYPAY INHERITANCE*/ ; do over YSUB1; if YSUB1 = -4 then YSUB1= 0; /* Valid missing */ end; /* Income questions are monthly basis. Convert to yearly figure. */ /* Note: The market value of estates received in past month is not included */ MONTHLYINCOME = (BIZINC-BIZLOSS)+R_WAGE+BONUS+OTHERJOB+SP_WAGE+UI+ALIMONY+GOVASSIST+EDUCASSIST+OTHER; ARRAY YSUM BIZINC BIZLOSS R_WAGE BONUS OTHERJOB SP_WAGE UI ALIMONY GOVASSIST EDUCASSIST OTHER ; DO OVER YSUM; IF YSUM IN (-1,-2,-3) THEN MONTHLYINCOME=-3; END; IF MONTHLYINCOME>=0 OR MONTHLYINCOME<-5 THEN SUMINCOME = MONTHLYINCOME*12; ELSE SUMINCOME = -3; IF SUMINCOME>0 & SINGLEINCOME>0 THEN DO; IF (SUMINCOME > (11* SINGLEINCOME)) THEN SUMINCOME =SUMINCOME / 12; END; IF (SUMINCOME>0) THEN BESTINCOME=SUMINCOME; ELSE IF SUMINCOME<= 0 AND SINGLEINCOME<=0 AND BIZLOSS>0 THEN BESTINCOME=SUMINCOME; ELSE IF SUMINCOME<=0 AND SINGLEINCOME>0 THEN BESTINCOME=SINGLEINCOME; ELSE BESTINCOME=-3; /*JAY'S EDITS*/ IF R0000100=4085280289 THEN BESTINCOME=SINGLEINCOME; IF R0000100=4254850882 THEN BESTINCOME=SUMINCOME; IF R0000100=5137748792 THEN BESTINCOME=SUMINCOME; IF R0000100=3186404290 THEN BESTINCOME=85000; IF R0000100=6055781264 THEN BESTINCOME=140000; ************** *****************************; ************ Networth: CHANGE 0 WITH MEDIAN ; * Converting Valid Skip (-4) to none ($0); array NWSSS Home Savings CDs SavingsBonds MutualFunds LifeInsure EmployerRetire IRAs Stock Bonds OwedToR OtherProperty GrossBusiness BusDebt Vehicles Possess CCDEBTX AmtMortgage AmtHomeEquity AmtStudentLoan AmtInstallment AmtBankLoan AmtPayDayLoan AmtOtherLoan; do over NWSSS; if NWSSS= -4 then NWSSS= 0; /* Valid missing */ end; Financial = Savings+CDs+SavingsBonds+MutualFunds+LifeInsure+EmployerRetire+ IRAs+Stock+Bonds+OwedToR; Physical = Home+OtherProperty+GrossBusiness-BusDebt+Vehicles+Possess; *BusEquity=GrossBusiness-BusDebt; Assets = Financial + Physical; Debts = CCDEBTX+AmtMortgage+AmtHomeEquity+AmtStudentLoan+AmtInstallment+AmtBankLoan+ AmtPayDayLoan+AmtOtherLoan; SumNetWorth = Assets - Debts; /* Networth from the single liquidating question*/ if (R4600000=1) then SingleNetworth=R4630000; else if (R4600000=3 ) then SingleNetworth= - R4630000; else if (R4600000=-1 ) then SingleNetworth=-1; else if (R4600000=-2 ) then SingleNetworth=-2; else SingleNetworth=0; %Range (SingleNetworth, R4640000, R4650000); %Unfolding (SingleNetworth, R4680000, R4690000, 50000, 10000, 350000); /* Best Estimated Net Worth combining the SumNetWorth and SingleNetworth */ if (SumNetWorth^=.) then BestNetWorth=SumNetWorth; else if SumNetWorth=. & SingleNetworth NOT IN (.R,.D) then BestNetWorth=SingleNetworth; else BestNetWorth=.I; IF R0000100=3186404290 THEN BestNetWorth=SingleNetworth; IF BestNetWorth IN (.I,.D,.R,-3,-2,-1) THEN DO; if home IN (.I,.D,.R,-3,-2,-1) then home=0; if home IN (.I,.D,.R,-3,-2,-1) & (R4180000 = 1 or -4) then Home=200000; IF Savings IN (.I,.D,.R,-3,-2,-1) THEN Savings=15000; IF CDs IN (.I,.D,.R,-3,-2,-1) THEN CDs=15000; IF SavingsBonds IN (.I,.D,.R,-3,-2,-1) THEN SavingsBonds=2000; IF MutualFunds IN (.I,.D,.R,-3,-2,-1) THEN MutualFunds=50000; IF LifeInsure IN (.I,.D,.R,-3,-2,-1) THEN LifeInsure=30000; IF EmployerRetire IN (.I,.D,.R,-3,-2,-1) THEN EmployerRetire=60000; IF IRAs IN (.I,.D,.R,-3,-2,-1) THEN IRAs=39500; IF Stock IN (.I,.D,.R,-3,-2,-1) THEN Stock=50000; IF Bonds IN (.I,.D,.R,-3,-2,-1) THEN Bonds=20000; IF OwedToR IN (.I,.D,.R,-3,-2,-1) THEN OwedToR=5500; IF OtherProperty IN (.I,.D,.R,-3,-2,-1) THEN OtherProperty=125000; IF GrossBusiness IN (.I,.D,.R,-3,-2,-1) THEN GrossBusiness=141000; IF BusDebt IN (.I,.D,.R,-3,-2,-1) THEN BusDebt=0; IF Vehicles IN (.I,.D,.R,-3,-2,-1) THEN Vehicles=14250; IF Possess IN (.I,.D,.R,-3,-2,-1) THEN Possess=13500; IF CCDEBTX IN (.I,.D,.R,-3,-2,-1) THEN CCDEBTX=1000; IF AmtMortgage IN (.I,.D,.R,-3,-2,-1) THEN AmtMortgage=103000; IF AmtHomeEquity IN (.I,.D,.R,-3,-2,-1) THEN AmtHomeEquity=20000; IF AmtStudentLoan IN (.I,.D,.R,-3,-2,-1) THEN AmtStudentLoan=12000; IF AmtInstallment IN (.I,.D,.R,-3,-2,-1) THEN AmtInstallment=10000; IF AmtBankLoan IN (.I,.D,.R,-3,-2,-1) THEN AmtBankLoan=5200; IF AmtPayDayLoan IN (.I,.D,.R,-3,-2,-1) THEN AmtPayDayLoan=400; IF AmtOtherLoan IN (.I,.D,.R,-3,-2,-1) THEN AmtOtherLoan=5000; Financial = Savings+CDs+SavingsBonds+MutualFunds+LifeInsure+EmployerRetire+ IRAs+Stock+Bonds+OwedToR; Physical = Home+OtherProperty+GrossBusiness-BusDebt+Vehicles+Possess; * BusEquity=GrossBusiness-BusDebt; Assets = Financial + Physical; Debts = CCDEBTX+AmtMortgage+AmtHomeEquity+AmtStudentLoan+AmtInstallment+AmtBankLoan+ AmtPayDayLoan+AmtOtherLoan; BestNetWorth = Assets - Debts; END; IF -3<=Savings<0 & -3<=CDs<0 & -3<=SavingsBonds<0 & -3<=MutualFunds<0 & -3<=LifeInsure<0 & -3<=EmployerRetire<0 & -3<=IRAs<0 & -3<=Stock<0 & -3<=Bonds<0 & -3<=OwedToR<0 & -3<=Home<0 & -3<=OtherProperty<0 & -3<=GrossBusiness<0 & -3<=BusDebt<0 & -3<=Vehicles<0 & -3<=Possess<0 & -3<=CCDEBTX<0 & -3<=AmtMortgage<0 & -3<=AmtHomeEquity<0 & -3<=AmtStudentLoan<0 & -3<=AmtInstallment<0 & -3<=AmtBankLoan<0 & -3<=AmtPayDayLoan<0 & -3<=AmtOtherLoan<0 & SingleNetworth NOT IN (.R,.D) THEN BestNetWorth=.I; YYYYMMDD=R5430002*10000+R5430001*100+R5430000; * AGE AT INTERVIEW DATE ; IF R0140000>0 THEN AGERX=R5430002-R0140000; ELSE AGERX=.; IF R0250000>0 THEN AGESPX=R5430002-R0250000; ELSE AGESPX=.; *... the ones found on the internet ... ; IF R0000100=7737437490 THEN AGERX=20; IF R0000100=6157939702 THEN AGERX=32; IF R0000100=8504424471 THEN AGERX=37; IF R0000100=9412555316 THEN AGERX=52; IF R0000100=3012621388 THEN AGERX=57; IF R0000100=4356284770 THEN AGERX=57; IF R0000100=5417912101 THEN AGERX=57; IF R0000100=4066519082 THEN AGERX=70; IF R0000100=5167715831 THEN AGERX=70; IF R0000100=5852899598 THEN AGERX=70; IF R0000100=6363943157 THEN AGERX=70; IF R0000100=8602422745 THEN AGERX=70; IF R0000100=9158721056 THEN AGERX=70; IF R0000100=9549713561 THEN AGERX=70; AGEHH=MEAN(AGERX, AGESPX); IF AGEHH=. THEN AGECL=.; ELSE AGECL=(2+(AGEHH GE 25)+(AGEHH GE 35)+(AGEHH GE 45)+(AGEHH GE 55)+(AGEHH GE 65) +(AGEHH GE 75))*10; file 'C:\Documents and Settings\All Users\Desktop\CFM\Step2_CreatedVariables\CFM_Created_OtherVars_out.dat' dlm=',' lrecl=1024; PUT ID SingleIncome SumIncome BestIncome AmtMortgage AmtHomeEquity AmtStudentLoan AmtInstallment AmtBankLoan AmtPayDayLoan AmtOtherLoan Savings CDs SavingsBonds MutualFunds EmployerRetire IRAs Stock Bonds OwedToR LifeInsure Home OtherProperty BusEquity GrossBusiness BusDebt Vehicles Possess Financial Physical Assets Debts SumNetWorth SingleNetworth BestNetWorth MonthlyIncome BizInc BizLOSS R_Wage Bonus OtherJob SP_Wage UI Alimony GovAssist EducAssist Other ALIMONYPAY INHERITANCE CUMONEY RACE AGER AGESP ; RUN; /**************************/ /* Produce the QName file */ data; file 'C:\Documents and Settings\All Users\Desktop\CFM\Step2_CreatedVariables\CFM_List_OtherVars_out.dat'; PUT 'CV-SINGLE_INC'; PUT 'CV-SUM_INC'; PUT 'CV-BEST_INC'; PUT 'CV-AMTMORTGAGE'; PUT 'CV-AMTHOMEEQUITY'; PUT 'CV-AMTSTUDENTLOAN'; PUT 'CV-AMTINSTALLMENT'; PUT 'CV-AMTBANKLOAN'; PUT 'CV-AMTPAYDAYLOAN'; PUT 'CV-AMTOTHERLOAN'; PUT 'CV-SAVINGS'; PUT 'CV-CDS'; PUT 'CV-SAVINGSBONDS'; PUT 'CV-MUTUALFUNDS'; PUT 'CV-EMPLOYERRETIRE'; PUT 'CV-IRAS'; PUT 'CV-STOCK'; PUT 'CV-BONDS'; PUT 'CV-OWEDTOR'; PUT 'CV-LIFEINSURE'; PUT 'CV-HOME'; PUT 'CV-OTHERPROPERTY'; PUT 'CV-BUSEQUITY'; PUT 'CV-GROSSBUSINESS'; PUT 'CV-BUSDEBT'; PUT 'CV-VEHICLES'; PUT 'CV-POSSESS'; PUT 'CV-FINANCIAL'; PUT 'CV-PHYSICAL'; PUT 'CV-ASSETS'; PUT 'CV-DEBTS'; PUT 'CV-SUMNETWORTH'; PUT 'CV-SINGLENETWORTH'; PUT 'CV-BESTNETWORTH'; PUT 'CV-MONTH_INC'; PUT 'CV-BIZINC'; PUT 'CV-BIZLOSS'; PUT 'CV-R_WAGE'; PUT 'CV-BONUS'; PUT 'CV-OTHERJOB'; PUT 'CV-SP_WAGE'; PUT 'CV-UI'; PUT 'CV-ALIMONY'; PUT 'CV-GOVASSIST'; PUT 'CV-EDUCASSIST'; PUT 'CV-OTHERINC'; PUT 'CV-ALIMONYPAY'; PUT 'CV-INHERITANCE'; PUT 'CV-CUMONEY'; PUT 'CV-RACE'; PUT 'CV-AGE'; PUT 'CV-AGESP'; ; RUN;