// requires fastcd command. changes working directory to FRIP directory. c frip capture log close log using FRIP_mainanalyses, replace text // program: FRIP_mainanalyses // task: ASR analyses for replication materials // project: FRIP // author: lkd 20140321 version 12.1 clear all macro drop _all set linesize 80 local pgm "FRIP_mainanalyses" local dte "20140321" local tag "`pgm'.do lkd `dte'" // #1 // open data /* Data will be available from the TESS website. TESS provides data in SPSS format. You will need to convert to STATA format and change the name below to whatever you call the dataset. The following code uses our naming convention for variables. The TESS data will use TESS's naming convention. Below are the links between the two naming conventions. Our name TESS Construction instructions rmanvles --- sex = male, sexo = heterosexual, condition = lesbian rmanvgay --- sex = male, sexo = heterosexual, condition = gay rfemvhet --- sex = female, sexo = heterosexual, condition = heterosexual rfemvles --- sex = female, sexo = heterosexual, condition = lesbian rfemvgay --- sex = female, sexo = heterosexual, condition = gay rlesvhet --- sex = female, sexo = lesbian, condition = heterosexual rlesvles --- sex = female, sexo = lesbian, condition = lesbian rlesvgay --- sex = female, sexo = lesbian, condition = gay rgayvhet --- sex = male, sexo = gay, condition = heterosexual rgayvles --- sex = male, sexo = gay, condition = lesbian rgayvgay --- sex = male, sexo = gay, condition = gay age age white race race = white lhs educat educat = less than hs hs educat educat = hs & some college coll educat educat = ba or higher inc49 income income < $50,000 inc50 income income >= $50,000 married marital marital = married childyn --- sum of ch0_1, ch2_5, ch6_12, ch13_17 at least 1 children --- sum of ch0_1, ch2_5, ch6_12, ch13_17 ideo ideo evangel --- [rel = baptist or pentecostal] OR [rel = protestant or other christian AND attend at least once a mo] AND [race not black] mainline --- [rel = protestant or other christian AND attend < once a mo] AND [race not black] blackprot --- [rel = baptist or pentecostal] OR [rel = protestant or other christian] AND [race = black] catholic --- [rel = catholic] ofaith --- rel = mormon, jewish, hindu, buddhist, e. orthodox, o. non-chrisitian noaffil --- rel = none leave Q9 reverse-coded visit Q10 reverse-coded will Q11 reverse-coded insure Q12 reverse-coded tell Q5 reverse-coded hands Q6 reverse-coded cheek Q7 reverse-coded french Q8 reverse-coded marry Q13 reverse-coded */ use FRIP_analysisDS, clear // make sure to change name as needed // #2 // define locals local iv "rmanvles rmanvgay rfemvhet rfemvles rfemvgay rlesvhet rlesvles" local iv "`iv' rlesvgay rgayvhet rgayvles rgayvgay" local demographics "age white lhs hs coll inc49 inc50 married childyn children" local demographics "`demographics' ideo evangel mainline blackprot catholic" local demographics "`demographics' ofaith noaffil" local formal "leave visit will insure" local informal "tell hands cheek french" // #3 // Table 1. Distribution of Respondents Across Conditions estpost tab sexo SRcon, m esttab using FRIP_T1.csv, replace /// title(Table 1. Distribution of Respondents Across Conditions) /// cell("b") nomtitle nonumber noobs plain eststo clear // #4 // Table 2. Description of Dependent Measures estpost sum `formal' `informal' marry esttab using FRIP_T2.csv, replace /// title(Table 2. Description of Dependent Measures) /// addnote("Note: N = 1,073") cell("mean sd min max count") /// nomtitle nonumber noobs plain eststo clear // Compare means across conditions foreach var in `formal' `informal' marry { mean `var', /// over(SRcon) vce(cluster hhid) // cluster SEs by household ID } // #5 // Table 3. Descriptive Statistics estpost tab sexo, m esttab using FRIP_T3.csv, replace /// title(Table 3. Descriptive Statistics) /// cell("pct") nomtitle nonumber noobs plain eststo clear estpost sum `demographics' esttab using FRIP_T3.csv, append /// cell("mean sd min max") nomtitle nonumber noobs plain eststo clear // #6 // Table 4. EFA /* For the EFA, create a .txt document with the factor loadings and import into Excel with spaces as delimiters. Make sure to check "Treat consecutive delimiters as one." Then, you can change the number of decimal places for easy import into a Table. H2 is 1 - uniqueness. Once in Excel, create a new column with 1 - uniqueness to report H2 */ // Full sample polychoric `formal' `informal' marry matrix polymat = r(R) // Generate mean and sd vectors for factormat mat accum sdmat = `formal' `informal' marry, means(meanmat) noconstant /// deviations local n r(N) di `n' matrix sdmat = sdmat/(r(N)-1) matrix sdmat = vecdiag(sdmat) factormat polymat, n(1045) means(meanmat) sds(sdmat) rotate // Heterosexual sample polychoric `formal' `informal' marry if sexo<=2 matrix polymat = r(R) // Generate mean and sd vectors for factormat mat accum sdmat = `formal' `informal' marry if sexo<=2, means(meanmat) noconstant /// deviations local n r(N) di `n' matrix sdmat = sdmat/(r(N)-1) matrix sdmat = vecdiag(sdmat) factormat polymat, n(487) means(meanmat) sds(sdmat) rotate // LG sample polychoric `formal' `informal' marry if sexo>=3 matrix polymat = r(R) // Generate mean and sd vectors for factormat mat accum sdmat = `formal' `informal' marry if sexo>=3, means(meanmat) noconstant /// deviations local n r(N) di `n' matrix sdmat = sdmat/(r(N)-1) matrix sdmat = vecdiag(sdmat) factormat polymat, n(558) means(meanmat) sds(sdmat) rotate // #7 // Table 5. ologits of Formal Rights foreach var in `formal' { di ". ologit `var' `iv'" eststo: ologit `var' `iv', vce(cluster hhid) test rmanvles = rmanvgay estadd scalar rmanvlesvgay = r(chi2) estadd scalar p1 = r(p) test rfemvhet = rfemvles estadd scalar rfemvhetvles = r(chi2) estadd scalar p2 = r(p) test rfemvhet = rfemvgay estadd scalar rfemvhetvgay = r(chi2) estadd scalar p3 = r(p) test rfemvles = rfemvgay estadd scalar rfemvlesvgay = r(chi2) estadd scalar p4 = r(p) test rlesvhet = rlesvles estadd scalar rlesvhetvles = r(chi2) estadd scalar p5 = r(p) test rlesvhet = rlesvgay estadd scalar rlesvhetvgay = r(chi2) estadd scalar p6 = r(p) test rlesvles = rlesvgay estadd scalar rlesvlesvgay = r(chi2) estadd scalar p7 = r(p) test rgayvhet = rgayvles estadd scalar rgayvhetvles = r(chi2) estadd scalar p8 = r(p) test rgayvhet = rgayvgay estadd scalar rgayvhetvgay = r(chi2) estadd scalar p9 = r(p) test rgayvles = rgayvgay estadd scalar rgayvlesvgay = r(chi2) estadd scalar p10 = r(p) } esttab using FRIP_T5.rtf, replace /// b(%12.3f) nogaps star(* 0.05 ** 0.01 *** 0.001) se one compress nolz /// eqlabels(none) stats(rmanvlesvgay p1 rfemvhetvles p2 rfemvhetvgay p3 /// rfemvlesvgay p4 rlesvhetvles p5 rlesvhetvgay p6 /// rlesvlesvgay p7 rgayvhetvles p8 rgayvhetvgay p9 rgayvlesvgay p10) eststo clear // #8 // Table 6. ologits of Informal Privileges foreach var in `informal' { di ". ologit `var' `iv'" eststo: ologit `var' `iv', vce(cluster hhid) test rmanvles = rmanvgay estadd scalar rmanvlesvgay = r(chi2) estadd scalar p1 = r(p) test rfemvhet = rfemvles estadd scalar rfemvhetvles = r(chi2) estadd scalar p2 = r(p) test rfemvhet = rfemvgay estadd scalar rfemvhetvgay = r(chi2) estadd scalar p3 = r(p) test rfemvles = rfemvgay estadd scalar rfemvlesvgay = r(chi2) estadd scalar p4 = r(p) test rlesvhet = rlesvles estadd scalar rlesvhetvles = r(chi2) estadd scalar p5 = r(p) test rlesvhet = rlesvgay estadd scalar rlesvhetvgay = r(chi2) estadd scalar p6 = r(p) test rlesvles = rlesvgay estadd scalar rlesvlesvgay = r(chi2) estadd scalar p7 = r(p) test rgayvhet = rgayvles estadd scalar rgayvhetvles = r(chi2) estadd scalar p8 = r(p) test rgayvhet = rgayvgay estadd scalar rgayvhetvgay = r(chi2) estadd scalar p9 = r(p) test rgayvles = rgayvgay estadd scalar rgayvlesvgay = r(chi2) estadd scalar p10 = r(p) } esttab using FRIP_T6.rtf, replace /// b(%12.3f) nogaps star(* 0.05 ** 0.01 *** 0.001) se one compress nolz /// eqlabels(none) stats(rmanvlesvgay p1 rfemvhetvles p2 rfemvhetvgay p3 /// rfemvlesvgay p4 rlesvhetvles p5 rlesvhetvgay p6 /// rlesvlesvgay p7 rgayvhetvles p8 rgayvhetvgay p9 rgayvlesvgay p10) eststo clear // #9 // Table 7. ologit of Marry eststo: ologit marry `iv', vce(cluster hhid) test rmanvles = rmanvgay estadd scalar rmanvlesvgay = r(chi2) estadd scalar p1 = r(p) test rfemvhet = rfemvles estadd scalar rfemvhetvles = r(chi2) estadd scalar p2 = r(p) test rfemvhet = rfemvgay estadd scalar rfemvhetvgay = r(chi2) estadd scalar p3 = r(p) test rfemvles = rfemvgay estadd scalar rfemvlesvgay = r(chi2) estadd scalar p4 = r(p) test rlesvhet = rlesvles estadd scalar rlesvhetvles = r(chi2) estadd scalar p5 = r(p) test rlesvhet = rlesvgay estadd scalar rlesvhetvgay = r(chi2) estadd scalar p6 = r(p) test rlesvles = rlesvgay estadd scalar rlesvlesvgay = r(chi2) estadd scalar p7 = r(p) test rgayvhet = rgayvles estadd scalar rgayvhetvles = r(chi2) estadd scalar p8 = r(p) test rgayvhet = rgayvgay estadd scalar rgayvhetvgay = r(chi2) estadd scalar p9 = r(p) test rgayvles = rgayvgay estadd scalar rgayvlesvgay = r(chi2) estadd scalar p10 = r(p) esttab using FRIP_T7.rtf, replace /// b(%12.3f) nogaps star(* 0.05 ** 0.01 *** 0.001) se one compress nolz /// eqlabels(none) stats(rmanvlesvgay p1 rfemvhetvles p2 rfemvhetvgay p3 /// rfemvlesvgay p4 rlesvhetvles p5 rlesvhetvgay p6 /// rlesvlesvgay p7 rgayvhetvles p8 rgayvhetvgay p9 rgayvlesvgay p10) eststo clear log close exit