capture log close log using "SOCY699C-HW7-MACROS.smcl", smcl replace local problem 2+2 local solution = 2+2 di "`problem'" di "`solution'" /* Grab a subset of the GSS data */ #delimit ; use year socrel socommun socfrend socbar age sex race educ sexfreq using http://terpconnect.umd.edu/~smilex3/GSS-Cumulative-72-12.dta, clear; #delimit cr /* Create the yearly sexual frequency variable */ capture drop sexfreq3 generate sexfreq3=. replace sexfreq3= 0 if sexfreq==0 replace sexfreq3= 2 if sexfreq==1 replace sexfreq3= 12 if sexfreq==2 replace sexfreq3= 36 if sexfreq==3 replace sexfreq3= 52 if sexfreq==4 replace sexfreq3=156 if sexfreq==5 replace sexfreq3=208 if sexfreq==6 label variable sexfreq3 "Yearly sexual frequency" cap drop agesqr gen agesqr=age^2 label variable agesqr "Age-squared Interaction Term" sum age return list regress sexfreq3 age agesqr ereturn list di e(mss)/(e(rss) + e(mss)) /* R-squared */ di (e(mss)/e(df_m))/(e(rss)/e(df_r)) /* F-statistic */ matrix list e(b) di _b[_cons] + (_b[age]*age) + (_b[agesqr]*agesqr) generate yhat=_b[_cons] + (_b[age]*age) + (_b[agesqr]*agesqr) /* creturn */ creturn list di c(current_date) quietly regress sexfreq3 age local rsqf e(r2) local rsqv = e(r2) di `rsqf' /* This has the current R-squared */ di `rsqv' /* as does this */ quietly regress sexfreq3 age sex race di `rsqf' /* the formula has the new R-squared */ di `rsqv' /* this guy has the old one */ foreach var of varlist age educ sexfreq3 { summarize `var' } local varsum "age educ sexfreq3" foreach var of varlist `varsum' { summarize `var' } foreach var of varlist socrel socommun socfrend socbar { recode `var' (1=1) (2/7=0) (else=.), gen(`var'1) } log close