How income, class, religion, etc. relate to political party

By Razib Khan | March 26, 2012 10:11 pm

Update: There was a major coding error. I’ve rerun the analysis. No qualitative change.

As is often the case a 10 minute post using the General Social Survey is getting a lot of attention. Apparently circa 1997 web interfaces are so intimidating to people that extracting a little data goes a long way. Instead of talking and commenting I thought as an exercise I would go further, and also be precise about my methodology so that people could replicate it (hint: this is a chance for readers to follow up and figure something out on their own, instead of tossing out an opinion I don’t care about).


Just like below I limited the sample to non-Hispanic whites after the year 2000. Here’s how I did it: YEAR(2000-*), RACE(1), HISPANIC(1)

Next I want to compare income, with 1986 values as a base, with party identification. To increase sample sizes I combined all Democrats and Republicans into one class; the social science points to the reality that the vast majority of independents who “lean” in one direction are actually usually reliable voters for that party. So I feel no guilt about this. I suppose Americans simply like the conceit of being independent? I know I do. In any case, here are the queries:

For row: REALINC(r:0-20000″LLM”;20000-40000″M”;40000-80000″UM”;80000-*”BU”)
For column: PARTY(r:0-2″Dem”;3″Ind”;4-6″Rep”)

What I’m doing above is combining classes, and also labeling. The GSS has documentation to make sense of it if you care. Some of you were a little confused as to what $80,000 household income in 1986 means. I went and converted 1986 dollars to dollars today.

Value of income conversion


As you can see $80,000 in 1986 would be $166,000 today. So what percentile in household income is $166,000? Here it is (I rounded generously, so it is really 43 or 93 and such, instead of 40 or 95):

Income rangeQuantitative classDescriptive class
Up to $20,000< 40%Lower & Lower Middle (LLM)
$20,000 to $40,00040% to 70%Middle (M)
$40,000 to $80,00070% to 95%Upper Middle (UM)
$80,000 and up> 95%Broad Upper (BU)

To clear up future confusions I have relabeled the income ranges with the descriptive classes above. You can argue all you want that being in the ~5% of income is not upper class, but just pretend I used a different term (e.g., higher middle class?). I’m not too hung up on the terminology, I’m more focused on the people in the top 5% of the income distribution. The local doctor or successful business person, not the billionaire who owns an island in the Caribbean.

Now you have a sense of the classes which we’ll be looking at. In the results below I report the proportions of the row and column values. So the leftmost three columns will tell you the percentage of Democrats who are upper class, while the rightmost three columns will tell you the percentage of upper class people who are Democrats. The leftmost three columns add up to 100% vertically, the rightmost three columns 100% horizontally.

The second major aspect of reading the table below is that I “controlled” for various sets of characteristics. So, for example, you see the income and party identification patterns for those with no college education, and those with college educations. Here are the variables:

DEGREE(r:0-2″No College”;3-4″College”), BIBLE, REGION(r:1-4,8-9″Not South”;5-7″South”), SEI

Two notes here. First, I used the Census division categories. Second, the “socioeconomic status index” is more than just income, and I created three broad classes, giving you the percentile ranges.

Columns = 100%Rows = 100%
No College
Bible is Word of God
Bible is Inspired of God
Bible is Book of Fables
Not the South
The South
Bottom 50% of socioeconomic status
40% to 10% of socioeconomic status
Top 10% of socioeconomic status
CATEGORIZED UNDER: Data Analysis, Demographics, GSS
MORE ABOUT: Data, GSS, Politics

Comments (14)

  1. marcel

    Either your labeling of “Rows=100%” & “Columns=100%” is very unintuitive (i.e., I don’t understand it) or you reversed it. The left column of tables is labeled “Rows=100%”, and there, each column within tables sums to 100% (at least in the 2 topmost tables), while the right column of tables is labeled “Columns=100%”, and each row within tables sums to 100%.

  2. kirk

    Maybe this only makes sense to rich republicans…

  3. Curious

    The local doctor is hardly “upper class” either by profession or income. Medical doctors are quintessential examples of the upper middle bourgeoisie. You fail make the key distinction (among others) between having capital and needing to work for a living.

    Theses income classifications are government propaganda manipulated by demagogues like Obama in order to classify a single worker making $150,000 a year as “rich.”

  4. #3, if you tell me what to think i’ll ban you. if you complain about this comment i will ban you. i told you ahead of time i’m tired of semantic arguments. if anyone else brings up a semantic argument again i’ll ban them too.

    instead of using the GSS most of you want to rant on about boring ass political and semantic shit. well, you can go screw yourselves.

  5. Siod Beorn

    I probably did something stupid and wrong, but I tried to look at the correlation between WORDSUM and CONPRESY (confidence in the press–I thought it was relevant given the post’s impetus), and the following is what I got:

    Also, I wanted to look at how confidence in the press changed between the Bush and Clinton presidencies, but apparently the information isn’t that recent (“No valid cases”).

    Thanks for this post, by the way. A useful for tool when these kinds of questions come up (that is, if I don’t fuck up the answer).

  6. what were your N’s? i know they often get small at wordsum < 4.

  7. Siod Beorn

    I noticed that you go from 80k at 8% of *all* respondents to 99.9k at 5%. If you select for *all* respondents that are non-Hispanic whites after the year 2000, you get up to 137k before you tip below 5%.

    Also, I think PARTY(r:1-3″Dem”;4″Ind”;5-7″Rep”) should be PARTY(r:0-3″Dem”;4″Ind”;5-7″Rep”). If you look at PRES08 and PARTY(1-3) you’ll see that an oddly large proportion of democrats are voting for McCain.

    (I could have fucked something up with weighting or something else, though.)

    Edit: Valid cases for CONPRESY with WORDSUM = 454, and for CONPRESY with PARTY after 1984 I get the following message: “No valid cases: row var=CONPRESY, column var=PARTY, weight var=COMPWT, filter(s)=YEAR(1985-*) “

  8. Siod Beorn

    My bad, I misinterpreted your comment. Here’s the N’s for wordsum:

    0: 6, 1: 6, 2: 10, 3: 39, 4: 57, 5: 86, 6: 92, 7: 56, 8: 46, 9: 33, 10: 27

  9. messed up partyid. fixed. the N’s seem small to me. that’s not uncommon when you cross wordsum….

  10. Siod Beorn

    Is your approximation of the top 5%’s income meaningful even though a ~3% difference gives you a nearly 60k difference? Why not say the top 5% earns 140k and up?

    Also, is there a reason you use “PARTY(r:0-2″Dem”;3″Ind”;4-6″Rep”)” for column instead of leaving it blank?

  11. Dwight E. Howell

    Okay it does look like that the Democrat party and Christians are parting ways. I’d suggest you expand a bit because I think that might now include Jews, Muslims, and every faith other than atheist.

    Historically progressives/socialists have tended to exclude those who believe in a deity.

  12. #11, the sample is non-hispanic white. include blacks and hispanics and things change.

    Historically progressives/socialists have tended to exclude those who believe in a deity.

    fwiw, most liberals are religious believers. most irreligious are liberals. the two do not contradict.

  13. Is your approximation of the top 5%’s income meaningful even though a ~3% difference gives you a nearly 60k difference? Why not say the top 5% earns 140k and up?

    yeah, why not? let me think on this. the problem is that the at the high tails the N’s get small….

    Also, is there a reason you use “PARTY(r:0-2″Dem”;3″Ind”;4-6″Rep”)” for column instead of leaving it blank?

    y leave it blank? i wanted to cross….

  14. Bryan Pesta

    Interesting to see how the above data map to those using the 50 US states as the unit of analysis. I have a composite variable called religious fundamentalism (measuring agreement with statements like “mine is the one true faith,” “the bible is literally true,” “god has answered my prayers”) for each US state. Fundamentalism correlates with other state measures:

    -.55, state IQ
    -.72, income
    -.62, education
    -.61, % voting Obama

    -.32, Starbucks to Walmart ratio
    +.43, % gun owners
    +.45, whether a state amended its constitution to ban gay marriage
    -.79, % atheists

    +.72, % Protestant
    -.71, % Catholic
    +.31, Gini ratio
    -.59, frequency of getting teeth cleaned

    +.49, % residents age 65 > with no teeth
    +.69, teenage pregnancy
    +.48, murder rates
    -.51, % same sex households

    +.38, % smokers
    +.28, % obese
    +.61, % heart disease
    -.06, penis size (estimated by condom sales / condom sizes by state)* ns.

    Pretty large correlations for social science, albeit using aggregate data.



Discover's Newsletter

Sign up to get the latest science news delivered weekly right to your inbox!

Gene Expression

This blog is about evolution, genetics, genomics and their interstices. Please beware that comments are aggressively moderated. Uncivil or churlish comments will likely get you banned immediately, so make any contribution count!

About Razib Khan

I have degrees in biology and biochemistry, a passion for genetics, history, and philosophy, and shrimp is my favorite food. In relation to nationality I'm a American Northwesterner, in politics I'm a reactionary, and as for religion I have none (I'm an atheist). If you want to know more, see the links at


See More


RSS Razib’s Pinboard

Edifying books

Collapse bottom bar