Following is a response from Senior DHS staff member, Tom Pullum:
Looking just at women (assuming that the code for men would be similar), I compared the results on STATcompiler with the results in Table 14.14.1 of the final report on the NFHS-5. They are not the same. I get a perfect match with the totals row of the Table 14.14.1 using the Stata lines pasted below. We will look into why STATcompiler differs from Table 14.14.1 and post a follow-up response.
* Attitudes toward wife beating
* Match the totals row of table 14.14.1 in the NFHS-5 final report
use v005 v744* s943* using "C:\Users\26216\ICF\Analysis - Shared Resources\Data\DHSdata\IAIR7EFL.DTA", clear
gen wt=v005/1000000
tab1 v744* s943* [iweight=wt]
* Don't know is classified with no
foreach ll in a b c d e {
gen `ll'=100*v744`ll'
replace `ll'=0 if v744`ll'==8
}
foreach ll in f g {
gen `ll'=100*s943`ll'
replace `ll'=0 if s943`ll'==8
}
egen any=rowtotal(a b c d e f g), missing
replace any=100 if any>0 & any<.
tabstat a b c d e f g any [fweight=v005], statistics(mean)
total wt if any<.
* This matches the indicator exactly. However, it does not match the numbers in STATcompiler
/*
v744a byte %8.0g V744A beating justified if wife goes out without telling husband
v744b byte %8.0g V744B beating justified if wife neglects the children
v744c byte %8.0g V744C beating justified if wife argues with husband
v744d byte %8.0g V744D beating justified if wife refuses to have sex with husband
v744e byte %8.0g V744E beating justified if wife burns the food
s943f byte %8.0g S943F justifies domestic violence: wife unfaithful
s943g byte %8.0g S943G justifies domestic violence: wife disrespect