Joe Biden’s Party Loyalty in the Senate

Jeff Lewis

August 14, 2019

How often did Joe Biden vote with Democrats?

Here I calculate the lifetime rate at which Joseph Biden sided with the plurality of his party when casting rollcall votes. For comparison, I also calculate the lifetime rate of party loyalty for all other Democratic senators with whom Biden served over this time in the Congress.

Reading the data

I begin by reading in the necessary data.

rollcalls <- read_csv("https://voteview.com/static/data/out/rollcalls/Sall_rollcalls.csv") %>% filter(congress>60)
members <- read_csv("https://voteview.com/static/data/out/members/Sall_members.csv") %>% filter(congress>60)
votes <- read_csv("https://voteview.com/static/data/out/votes/Sall_votes.csv") %>% filter(congress>60)

Calculating pary loyalty

I then calculate the rate at which all Democratic senators vote with their party over the their entire careers. Finally, I filter out just those Senators whose service in the Congress overlapped with Mr. Biden’s. A member is said to have voted with her party if she cast a vote that matched those of the plurality of the Democratic caucus. Rollcalls on which the party was evenly divided are excluded.

map_vote <- c("y","y","y", "n", "n", "n", "nv", "nv", "nv")
all <- votes %>% 
          left_join(members, by = c("congress", "chamber", "icpsr")) %>%
          left_join(rollcalls, by=c("congress", "chamber", "rollnumber")) %>%
          filter(party_code == 100) %>%
          group_by(congress, rollnumber) %>%
          mutate(cast_code = map_vote[as.integer(cast_code)], 
                 party_yea = sum(cast_code=='y'), 
                 party_no = sum(cast_code=='n'),
                 party_cast_code = ifelse(party_yea > party_no, 'y', 'n'),
                 with_party = (party_cast_code == cast_code)) %>%
          filter(party_yea != party_no) %>%
          group_by(icpsr) %>%
          summarize(name = bioname[1],
                  state_abbrev = state_abbrev[1],
                  party_loyalty = sum(with_party)/sum(cast_code != 'nv'),
                  votes_cast = sum(cast_code != 'nv'),
                  min_congress = min(congress),
                  max_congress = max(congress)) %>%
          filter( max_congress >= 93, min_congress <= 111) %>%
          mutate(rank = rank(-party_loyalty)) %>%
          ungroup() %>%
          select(rank, everything(), -icpsr) %>%
          arrange(desc(party_loyalty))

write_csv(all, path="biden_party_loyalty.csv")

Tabulating the results

Pulling out Mr. Biden,

biden <- all %>% filter(str_detect(name, "BIDEN"))

we find that he voted with the Democrats 86.2 percent of the time making him the 107th most loyal of the 177 Democratic senators with whom he served.

Here is a complete table:

all %>%
  knitr::kable(col.names=c("Rank", "Member", "State", "Party loyalty", "Votes Cast", "First", "Last")) %>%
  row_spec(c(biden$rank), 
           bold = T, background = "#f6fcba") %>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"),
                            font_size = 10, 
                            full_width = FALSE) %>%
  kableExtra::add_header_above(c(" "=5, "Congresses Served"=2))
Congresses Served
Rank Member State Party loyalty Votes Cast First Last
1 GOODWIN, Carte P. WV 1.0000000 40 111 111
2 KIRK, Paul G., Jr. MA 0.9915966 119 111 111
3 BURRIS, Roland IL 0.9843014 637 111 111
4 CARDIN, Benjamin Louis MD 0.9754505 3829 110 116
5 FRANKEN, Al MN 0.9746888 2410 111 115
6 KAUFMAN, Edward E. (Ted) DE 0.9699842 633 111 111
7 WHITEHOUSE, Sheldon RI 0.9634979 3808 110 116
8 BROWN, Sherrod OH 0.9604639 3794 110 116
9 UDALL, Thomas (Tom) NM 0.9597209 3153 111 116
10 SPECTER, Arlen PA 0.9595142 494 111 111
11 DURBIN, Richard Joseph IL 0.9570262 6981 105 116
12 SCHUMER, Charles Ellis (Chuck) NY 0.9570245 6399 106 116
13 REED, John F. (Jack) RI 0.9554829 7031 105 116
14 COONS, Christopher A. DE 0.9552600 2481 111 116
15 OBAMA, Barack IL 0.9542683 984 109 110
16 MENENDEZ, Robert NJ 0.9537107 3975 109 116
17 STABENOW, Deborah Ann MI 0.9535452 5726 107 116
18 CASEY, Robert (Bob), Jr. PA 0.9535433 3810 110 116
19 SHAHEEN, Jeanne NH 0.9497136 3142 111 116
20 CANTWELL, Maria E. WA 0.9494353 5755 107 116
21 MURRAY, Patty WA 0.9487089 8520 103 116
22 CLINTON, Hillary Rodham NY 0.9486418 2356 107 111
23 UDALL, Mark CO 0.9478992 1785 111 113
24 AKAKA, Daniel Kahikina HI 0.9465241 7293 101 112
25 MIKULSKI, Barbara Ann MD 0.9458548 9493 100 114
26 KLOBUCHAR, Amy MN 0.9419131 3753 110 116
27 BOXER, Barbara CA 0.9396851 7494 103 114
28 BEGICH, Mark AK 0.9391354 1758 111 113
29 EDWARDS, John NC 0.9367851 1661 106 108
30 JOHNSON, Timothy Peter (Tim) SD 0.9360060 5313 105 113
31 BENNET, Michael F. CO 0.9352332 3088 111 116
32 DAYTON, Mark MN 0.9347134 1884 107 109
33 CORZINE, Jon Stevens NJ 0.9323510 1493 107 109
34 KERRY, John Forbes MA 0.9301340 8731 99 113
35 WYDEN, Ronald Lee OR 0.9285419 7263 104 116
36 GILLIBRAND, Kirsten NY 0.9284072 3045 111 116
37 ROCKEFELLER, John Davison IV (Jay) WV 0.9279185 9517 99 113
38 HAGAN, Kay NC 0.9267481 1802 111 113
39 DASCHLE, Thomas Andrew SD 0.9266896 6111 100 108
40 WARNER, Mark VA 0.9254800 3073 111 116
41 MERKLEY, Jeff OR 0.9235649 3153 111 116
42 FEINSTEIN, Dianne CA 0.9231676 8486 103 116
43 NELSON, Clarence William (Bill) FL 0.9219621 5382 107 115
44 HARKIN, Thomas Richard (Tom) IA 0.9178649 9667 99 113
45 HUMPHREY, Muriel Buck MN 0.9162996 454 95 95
46 LEVIN, Carl MI 0.9162362 12583 96 113
47 LEAHY, Patrick Joseph VT 0.9139147 16019 94 116
48 TESTER, Jon MT 0.9137615 3815 110 116
49 SARBANES, Paul Spyros MD 0.9134883 11143 95 109
50 SALAZAR, Kenneth Lee CO 0.9132455 1291 109 111
51 LAUTENBERG, Frank Raleigh NJ 0.9119592 9223 98 113
52 WOFFORD, Harris PA 0.9098639 1176 102 103
53 ADAMS, Brockman (Brock) WA 0.9096134 1914 100 102
54 REID, Harry NV 0.9073307 9658 100 114
55 CARPER, Thomas Richard DE 0.9047120 5730 107 116
56 INOUYE, Daniel Ken HI 0.9030437 16296 88 112
57 CARNAHAN, Jean MO 0.9012945 618 107 107
58 DODD, Christopher John CT 0.9007464 9914 97 111
59 DORGAN, Byron Leslie ND 0.8973602 6099 103 111
60 GORE, Albert Arnold, Jr. TN 0.8952465 2272 99 102
61 WEBB, James H. (Jim) VA 0.8949416 1799 110 112
62 HUMPHREY, Hubert Horatio, Jr. MN 0.8926185 6584 81 95
63 MITCHELL, George John ME 0.8912521 5407 96 103
64 KOHL, Herbert H. WI 0.8908112 7803 101 112
65 PRYOR, Mark AR 0.8896882 3753 108 113
66 TORRICELLI, Robert Guy NJ 0.8893757 1826 105 107
67 SANFORD, (James) Terry NC 0.8891907 1841 100 102
68 BINGAMAN, Jesse Francis, Jr. (Jeff) NM 0.8885622 9862 98 112
69 MOSELEY BRAUN, Carol IL 0.8882784 2184 103 105
70 RIEGLE, Donald Wayne, Jr. MI 0.8877784 7004 95 103
71 SYMINGTON, William Stuart (Stuart) MO 0.8877472 6423 83 94
72 CLELAND, Joseph Maxwell (Max) GA 0.8847368 1900 105 107
73 WELLSTONE, Paul David MN 0.8845674 4011 102 107
74 KENNEDY, Edward Moore (Ted) MA 0.8845585 15549 88 111
75 MATSUNAGA, Spark Masayuki HI 0.8840468 5209 95 101
76 MUSKIE, Edmund Sixtus ME 0.8834106 7119 86 96
77 MAGNUSON, Warren Grant WA 0.8831169 10164 78 96
78 LANDRIEU, Mary L. LA 0.8825345 5508 105 113
79 WIRTH, Timothy E. CO 0.8804930 1866 100 102
80 BAYH, Birch Evans IN 0.8794063 6468 88 96
81 MONDALE, Walter Frederick MN 0.8786074 4366 89 94
82 SIMON, Paul Martin IL 0.8776906 3949 99 104
83 EAGLETON, Thomas Francis MO 0.8772638 7675 91 99
84 BURDICK, Jocelyn Birch ND 0.8771930 57 102 102
85 MATHEWS, Harlan TN 0.8762307 711 103 103
86 JACKSON, Henry Martin (Scoop) WA 0.8760004 10621 83 98
87 LIEBERMAN, Joseph I. CT 0.8742564 7396 101 112
88 WILLIAMS, Harrison Arlington, Jr. NJ 0.8739691 8609 86 97
89 FOWLER, Wyche, Jr. GA 0.8736349 1923 100 102
90 GRAHAM, Daniel Robert (Bob) FL 0.8730609 5995 100 108
91 MOSS, Frank Edward (Ted) UT 0.8729682 5660 86 94
92 CRANSTON, Alan CA 0.8711701 9563 91 102
93 KERREY, J. Robert NE 0.8708450 3941 101 106
94 PRYOR, David Hampton AR 0.8703617 6441 96 104
95 CONRAD, Kent ND 0.8699006 8555 100 112
96 HATHAWAY, William Dodd ME 0.8693927 3277 93 95
97 SASSER, James Ralph TN 0.8684475 6963 95 103
98 BUMPERS, Dale AR 0.8676032 9396 94 105
99 LINCOLN, Blanche Lambert AR 0.8668038 3889 106 111
100 ANDERSON, Wendell Richard MN 0.8662352 927 95 95
101 BRYAN, Richard H NV 0.8645731 4076 101 106
102 MOYNIHAN, Daniel Patrick NY 0.8644713 8928 95 106
103 GLENN, John Herschel, Jr. OH 0.8634812 9376 94 105
104 HASKELL, Floyd Kirk CO 0.8634565 3032 93 95
105 McCASKILL, Claire MO 0.8629265 3458 110 115
106 PELL, Claiborne de Borda RI 0.8624412 13616 87 104
107 BIDEN, Joseph Robinette, Jr. DE 0.8619853 12774 93 111
108 MONTOYA, Joseph Manuel NM 0.8618173 4248 89 94
109 CLARK, Richard Clarence (Dick) IA 0.8618161 3546 93 95
110 TUNNEY, John Varick CA 0.8615385 2665 92 94
111 CULVER, John Chester IA 0.8606791 3151 94 96
112 PASTORE, John Orlando RI 0.8597830 7467 81 94
113 BURDICK, Quentin Northrup ND 0.8574370 12142 86 102
114 BAUCUS, Max Sieben MT 0.8569072 12125 96 113
115 McGOVERN, George Stanley SD 0.8567568 6290 88 96
116 McINTYRE, Thomas James NH 0.8566942 6050 88 95
117 STEVENSON, Adlai Ewing III IL 0.8563033 5275 91 96
118 CHURCH, Frank Forrester ID 0.8558258 7484 85 96
119 McGEE, Gale William WY 0.8544776 5360 86 94
120 MANSFIELD, Michael Joseph (Mike) MT 0.8543446 6790 83 94
121 HARTKE, Rupert Vance IN 0.8528435 5117 86 94
122 ROBB, Charles Spittal VA 0.8513712 4084 101 106
123 BAYH, Evan IN 0.8508614 3889 106 111
124 HUGHES, Harold Everett IA 0.8493095 2462 91 93
125 HART, Gary Warren CO 0.8487880 5198 94 99
126 RIBICOFF, Abraham Alexander CT 0.8473209 7316 88 96
127 HART, Philip Aloysius MI 0.8437010 5739 86 94
128 BRADLEY, William Warren (Bill) NJ 0.8420248 6539 96 104
129 HUDDLESTON, Walter Darlington KY 0.8417490 5466 93 98
130 METCALF, Lee Warren MT 0.8415985 5505 87 95
131 FEINGOLD, Russell Dana WI 0.8413236 6195 103 111
132 METZENBAUM, Howard Morton OH 0.8403856 7468 93 103
133 NELSON, Gaylord Anton WI 0.8394576 7375 88 96
134 RANDOLPH, Jennings WV 0.8352517 10252 86 98
135 FORD, Wendell Hampton KY 0.8327508 9728 94 105
136 STEWART, Donald Wilbur AL 0.8282828 891 96 96
137 BYRD, Robert Carlyle WV 0.8274289 18630 86 111
138 TSONGAS, Paul Efthemios MA 0.8271399 2395 96 98
139 GRAVEL, Maurice Robert (Mike) AK 0.8266695 4702 91 96
140 HODGES, Kaneaster, Jr. AR 0.8202960 473 95 95
141 DURKIN, John Anthony NH 0.8180832 2765 94 96
142 ABOUREZK, James George SD 0.8173790 2831 93 95
143 DIXON, Alan John IL 0.8154619 4178 97 102
144 CAMPBELL, Ben Nighthorse CO 0.8120205 782 103 104
145 BREAUX, John Berlinger LA 0.8108731 6070 100 108
146 MELCHER, John MT 0.8092611 5075 95 100
147 HATFIELD, Paul Gerhart MT 0.8081535 417 95 95
148 BIBLE, Alan Harvey NV 0.8047734 5363 84 93
149 CANNON, Howard Walter NV 0.7950697 8681 86 97
150 KRUEGER, Robert Charles TX 0.7943925 107 103 103
151 CHILES, Lawton Mainor, Jr. FL 0.7870532 8002 92 100
152 HOLLINGS, Ernest Frederick SC 0.7843399 14240 90 108
153 DeCONCINI, Dennis Webster AZ 0.7834628 6821 95 103
154 MANCHIN, Joe, III WV 0.7826087 2507 111 116
155 BENTSEN, Lloyd Millard, Jr. TX 0.7819830 8825 92 102
156 EXON, J. James NE 0.7780068 6793 96 104
157 FULBRIGHT, James William AR 0.7653669 5873 79 93
158 SPARKMAN, John Jackson AL 0.7597481 8258 79 95
159 JOHNSTON, John Bennett, Jr. LA 0.7579520 9746 93 104
160 BOREN, David Lyle OK 0.7396997 5728 96 103
161 NELSON, Earl Benjamin (Ben) NE 0.7385027 3740 107 112
162 NUNN, Samuel Augustus GA 0.7336585 10250 93 104
163 PROXMIRE, William WI 0.7168495 12036 85 100
164 STONE, Richard Bernard FL 0.7121258 3307 94 96
165 LONG, Russell Billiu LA 0.7059826 11149 81 99
166 HEFLIN, Howell Thomas AL 0.7037691 6792 96 104
167 SHELBY, Richard C. AL 0.7013730 2622 100 103
168 MORGAN, Robert Burren NC 0.6975309 3240 94 96
169 STENNIS, John Cornelius MS 0.6562793 11713 80 100
170 ZORINSKY, Edward NE 0.6404922 4470 95 100
171 TALMADGE, Herman Eugene GA 0.6387047 7844 85 96
172 McCLELLAN, John Little AR 0.6185925 8057 78 95
173 ERVIN, Samuel James, Jr. NC 0.6185118 5510 83 93
174 EASTLAND, James Oliver MS 0.5990314 8053 77 95
175 ALLEN, Maryon Pittman AL 0.5979899 199 95 95
176 MILLER, Zell Bryan GA 0.5525227 1209 106 108
177 ALLEN, James Browning AL 0.5361111 4680 91 95

This table can be download as spreadsheet here.