Tag Archives: gss

Equal-education and wife-more-education married couples don’t have sex less often

In my review of Mark Regnerus’s book, Cheap Sex, I wrote: “The book is an extended rant on the theme, ‘Why buy the cow when you can get the milk for free?’ wrapped in a misogynist theory about sexual exchange masquerading as economics, and motivated by the author’s misogynist religious and political views.”

Someone just reposted an old book-rehash essay of Regnerus’s called, “The Death of Eros.” In it he links to my post documenting the decline in sexual frequency among married couples in the General Social Survey. In marriage, Regnerus writes, “equality is the enemy of eros,” before selectively characterizing some research about the relationship between housework and sex. (Here’s a recent analysis finding egalitarian couples don’t have sex less.)

But I realized I never looked at sexual frequency in married couples by the relative education of the spouses, which is available in the GSS. So here’s a quick take: Married man-woman couples in which the wife has equal or more education don’t have sex less frequently.

I modeled sexual frequency (an interval scale from “not at all” = 0 to “4+ times per week” = 6 as a function of age, age-squared, respondent education, respondent sex, decade, and relative education (wife has lower degree, wife has same degree, wife has higher degree). The result is in this figure. Note the means are between 3 (“2-3 times per month”) and 4 (“weekly”). Stata code for GSS below.

death of eros

OK, that’s it. Here’s the code (I prettied the figure a little by hand afterwards):

*keep married people
keep if marital==1

* with non-missing own and spouse education
keep if spdeg<4 & degree<4
recode age (18/29=18) (30/39=30) (40/49=40) (50/59=50) (60/109=60), gen(agecat)
recode year (1970/1979=1970) (1980/1989=1980) (1990/1999=1990) (2000/2008=2000) (2010/2016=2010), gen(decade)
gen erosdead = spdeg>degree
gen equal=spdeg==degree

gen eros=0
replace eros=1 if spdeg<degree & sex==1
replace eros=2 if spdeg==degree
replace eros=3 if spdeg>degree & sex==1

replace eros=1 if spdeg>degree & sex==2
replace eros=3 if spdeg<degree & sex==2

label define de 1 "wife less"
label define de 2 "equal", add
label define de 3 "wife more", add
label values eros de

reg sexfreq i.sex i.agecat i.decade i.degree i.eros [weight=wtssall]
reg sexfreq i.sex c.age##c.age i.degree i.eros##i.decade [weight=wtssall]
margins i.eros##i.decade
marginsplot, recast(bar) by(decade)

Note: On 25 Dec 2018 I fixed a coding error and replaced the figure; the results are the same.


Filed under Me @ work, Research reports

Who’s happy in marriage? (Not just rich, White, religious men, but kind of)

I previously said there was a “bonafide trend back toward happiness” within marriage, for the years 2006 to 2012. This was based on the General Social Survey trend going back 1973, with married people responding to the question, “Taking all things together, how would you describe your marriage?”

Since then, the bonafide trend has lost its pop. Here’s my updated figure:


I repeated this analysis controlling for age, race/ethnicity, and education, and year specified in quadratic form. This shows happiness falling to a trough at 2004 and then starting to trend back. But given the last two points, confidence in that rebound is weak. Still a solid majority are happy with their marriages.

Who’s happy?

But who are those happy in marriage people? Combining the last three surveys, 2012, 2014, and 2016, this is what we get (effect of age and non-effect of education not shown). Note the y-axis starts at 50%.


So to be happy in marriage, my expert opinion is you should become male and White, see yourself as upper class, go to church all the time, and have extreme political views. And if you’re not all those things, don’t let the marriage promoters tell you what your marriage is going to be like.

Note: I previously analyzed the political views thing before, so this is an update to that. On trends and determinants of social class identification, see this post.)

Here’s my Stata code, written to run on the full GSS through 2016 data. Play along at home!

set maxvar 10000
use "GSS7216_R1a.dta", clear
gen since73 = year-1973
gen rwgt = round(wtssall)
keep if year >1972
gen verhap=0
replace verhap=1 if hapmar==1
logit verhap i.sex c.age##c.age i.degree i.race c.since73##c.since73 [weight=rwgt]
margins, at(since73=(0(1)43))
recode attend (1/3=1) (4/6=2) (7/8=3), gen(attendcat)
logit verhap i.sex c.age##c.age i.degree i.race i.class i.attendcat i.polviews if year>2010 [weight=rwgt]
margins sex race class attendcat polviews if year>2010



Filed under Research reports