4 ms·
> 100% of Stein voters and 24% of Johnson voters in Florida would've flipped that state. ... assuming that the remaining 76% of Johnson voters abstained. If 5
by JoshuaDavid 8y ago
> 100% of Stein voters and 24% of Johnson voters in Florida would've flipped that state.
... assuming that the remaining 76% of Johnson voters abstained.
If 50% of libertarians and 100% of green voters voted Democrat, and the other 50% of libertarians voted Republican, Michigan, Pennsylvania, and Wisconsin would have gone to the Democrats, and nothing else would have changed.
If 30% of libertarians and 100% of green voters voted Democrat, and the other 70% of libertarians voted Republican, New Hampshire would have gone to the Republicans, and nothing else would have changed.
I suspect 30% is closer than 50% in terms of how many libertarians would have voted Republican if there was no libertarian option.
Source on calculations: run the following in the console on https://en.wikipedia.org/wiki/2016_United_States_presidential_election https://en.wikipedia.org/wiki/2016_United_States_presidentia...
// What fraction of Libertarians would vote Republican if they had
// to choose between Democrats and Republicans
var fracLToD = 0.3, fracLToR = 1 - fracLToD;
// Same for Greens
var fracGToD = 1.0, fracGToR = 1 - fracGToD;
// Find the table
var electionResultsTable = [].slice.call(document.querySelectorAll('table.wikitable'))
.filter(t => t.querySelector('thead tr th.headerSort') && t.querySelector('thead tr th.headerSort').textContent.match(/^State/))[0];
// Process
[].slice.call(electionResultsTable.querySelectorAll('tr')) // Get rows
.slice(2, -1) // Chop off header and footer
.map(row => [].slice.call(row.querySelectorAll('td')).map(td => td.textContent)) // Get cell contents
.map(cs => ({
"state":cs[0],
"d":parseInt(cs[2].replace(/,/g, ''))||0, // democrats
"r":parseInt(cs[5].replace(/,/g, ''))||0, // republicans
"l":parseInt(cs[8].replace(/,/g, ''))||0, // libertarians
"g":parseInt(cs[11].replace(/,/g, ''))||0 // greens
})) // grab the cols we care about
.map(({state,d,r,l,g}) => ({
state,
d,
r,
l,
g,
// winnerWith3 is the winner as-is, with third parties
winnerWith3:d > r ? 'd' : 'r',
// winnerNo3 is the winner as-is, with third parties
winnerNo3:d + l * fracLToD + g * fracGToD > r + l * fracLToR + g * fracGToR ? 'd' : 'r'
}))
// And grab the states where excluding third parties would have changed the results
.filter(({winnerWith3, winnerNo3}) => winnerWith3 != winnerNo3)