我有一个数据帧,看起来是这样的:

name session sessionvote voter response
Tim 116 1 Y
Tim 116 2 N
Tim 117 1 Y
Tim 117 2 Y
Dave 117 1 N
Dave 117 2 Y
Larry 116 1 Y
Larry 116 2 Y
Larry 117 1 Y
John 117 1 N

name是指主题,session是指会议(可以进行多票表决),sessionvote是指该届会议的ID或投票号,voter response是指主题对该特定会议投票的投票.

我想要计算每对用户之间的相似性分数,基于他们的投票相似性,只使用他们都出席的投票的数据.相似性分数应按如下方式计算(相同的投票响应数/两个受试者出席的票数).例如,蒂姆和拉里在三张相同的选票上都出席了(116-1,116-2,117-1),他们在其中两张选票上的回答相同(116-1,117-1),但在他们都出席的第三张选票上不同(116-2).要计算他们的得分,应为2(Tim和Larry的共享回复数)/3(Tim和Larry都出席的投票数量),给他们的相似度得分为0.66.

我认为最简单的方法是生成一个如下所示的矩阵:

Tim Dave Larry John
Tim 1 .5 .66 0
Dave .5 1 0 1
Larry .66 0 1 0
John 0 1 0 1

虽然我可以概念化我希望它是什么样子,但我不确定如何将该数据帧转换为基于这些行的矩阵.任何帮助都将不胜感激.

更新:我已经包括了下面的dput个输出.这是我试图使用的数据的子集.完整的数据集要大得多.

structure(list(name = c("YOUNG, Donald Edwin", "SENSENBRENNER, Frank James, Jr.", 
"ROGERS, Harold Dallas (Hal)", "SMITH, Christopher Henry", "HOYER, Steny Hamilton", 
"KAPTUR, Marcia Carolyn (Marcy)", "VISCLOSKY, Peter", "DeFAZIO, Peter Anthony", 
"LEWIS, John R.", "PRICE, David Eugene", "UPTON, Frederick Stephen", 
"PELOSI, Nancy", "PALLONE, Frank, Jr.", "ENGEL, Eliot Lance", 
"LOWEY, Nita M.", "NEAL, Richard Edmund", "SCHIFF, Adam", "DAVIS, Susan A.", 
"LYNCH, Stephen F.", "McCOLLUM, Betty", "GRAVES, Samuel", "LANGEVIN, James", 
"WILSON, Addison Graves (Joe)", "LARSEN, Richard Ray (Rick)", 
"CLAY, William Lacy, Jr.", "ROGERS, Mike Dennis", "GRIJALVA, Raúl M.", 
"NUNES, Devin", "SÁNCHEZ, Linda T.", "DIAZ-BALART, Mario", "SCOTT, David", 
"CASE, Ed", "KING, Steve", "RUPPERSBERGER, C. A. (Dutch)", "BUTTERFIELD, George Kenneth, Jr. (G.K.)", 
"TURNER, Michael R.", "RYAN, Timothy J.", "COLE, Tom", "BURGESS, Michael C.", 
"CARTER, John R.", "BISHOP, Robert (Rob)", "COSTA, Jim", "WASSERMAN SCHULTZ, Debbie", 
"LIPINSKI, Daniel", "CLEAVER, Emanuel, II", "FORTENBERRY, Jeff", 
"HIGGINS, Brian", "FOXX, Virginia Ann", "McHENRY, Patrick T.", 
"GOHMERT, Louie", "GREEN, Al", "McCAUL, Michael T.", "CONAWAY, K. Michael", 
"MARCHANT, Kenny", "CUELLAR, Henry", "McMORRIS RODGERS, Cathy", 
"MOORE, Gwendolynne S. (Gwen)", "MATSUI, Doris", "SIRES, Albio", 
"McNERNEY, Jerry", "MCCARTHY, Kevin", "LAMBORN, Doug", "PERLMUTTER, Ed", 
"COURTNEY, Joe", "CASTOR, Kathy", "BUCHANAN, Vernon G.", "JOHNSON, Hank", 
"LOEBSACK, Dave", "YARMUTH, John", "SARBANES, John", "WALBERG, Tim", 
"SMITH, Adrian", "CLARKE, Yvette Diane", "JORDAN, Jim", "COHEN, Stephen", 
"FOSTER, Bill", "WELCH, Peter", "LATTA, Robert E.", "WITTMAN, Robert J.", 
"CARSON, André", "BILIRAKIS, Gus", "SCALISE, Steve", "SPEIER, Karen Lorraine Jacqueline (Jackie)", 
"KIRKPATRICK, Ann", "McCLINTOCK, Tom", "HIMES, James A.", "POSEY, Bill", 
"GUTHRIE, Brett", "PINGREE, Chellie", "LUETKEMEYER, Blaine", 
"TITUS, Alice (Dina)", "LUJÁN, Ben Ray", "TONKO, Paul", "FUDGE, Marcia L.", 
"SCHRADER, Kurt", "THOMPSON, Glenn", "ROE, David P. (Phil)", 
"OLSON, Pete", "CONNOLLY, Gerald E. (Gerry)", "QUIGLEY, Mike", 
"CHU, Judy", "GARAMENDI, John", "DEUTCH, Theodore E. (Ted)", 
"GRAVES, Tom", "HUNTER, Duncan Duane", "REED, Thomas W. II", 
"SEWELL, Terri", "GOSAR, Paul", "SCHWEIKERT, David", "CRAWFORD, Rick", 
"WOMACK, Steve", "BASS, Karen", "TIPTON, Scott", "WEBSTER, Daniel A.", 
"WILSON, Frederica", "WOODALL, Rob", "SCOTT, Austin", "KINZINGER, Adam", 
"BUCSHON, Larry", "RICHMOND, Cedric", "HARRIS, Andy", "KEATING, William R.", 
"HUIZENGA, Bill", "AMASH, Justin", "PALAZZO, Steven", "HARTZLER, Vicky", 
"LONG, Billy", "JOHNSON, Bill", "STIVERS, Steve", "GIBBS, Bob", 
"KELLY, Mike", "MARINO, Thomas A.", "CICILLINE, David N.", "DUNCAN, Jeff", 
"FLEISCHMANN, Chuck", "DESJARLAIS, Scott", "FLORES, Bill", "HERRERA BEUTLER, Jaime", 
"McKINLEY, David", "DUFFY, Sean", "GRIFFITH, H. Morgan", "ROBY, Martha", 
"BROOKS, Mo", "AMODEI, Mark E.", "BONAMICI, Suzanne", "LaMALFA, Doug", 
"HUFFMAN, Jared", "BERA, Ami", "COOK, Paul", "SWALWELL, Eric", 
"BROWNLEY, Julia", "CÁRDENAS, Tony", "RUIZ, Raul", "TAKANO, Mark", 
"LOWENTHAL, Alan", "VARGAS, Juan", "PETERS, Scott", "YOHO, Ted", 
"FRANKEL, Lois", "COLLINS, Doug", "GABBARD, Tulsi", "SCHNEIDER, Brad", 
"DAVIS, Rodney", "BUSTOS, Cheri", "WALORSKI, Jackie", "BROOKS, Susan", 
"BARR, Garland H. (Andy) IV", "KENNEDY, Joseph P. III", "WAGNER, Ann", 
"HORSFORD, Steven", "KUSTER, Ann McLane", "MENG, Grace", "JEFFRIES, Hakeem", 
"MALONEY, Sean Patrick", "COLLINS, Chris", "HUDSON, Richard", 
"MEADOWS, Mark", "HOLDING, George E.B.", "WENSTRUP, Brad", "BEATTY, Joyce", 
"JOYCE, David", "MULLIN, Markwayne", "PERRY, Scott", "CARTWRIGHT, Matt", 
"RICE, Tom", "WEBER, Randy", "CASTRO, Joaquin", "WILLIAMS, Roger", 
"VEASEY, Marc", "VELA, Filemon", "STEWART, Chris", "KILMER, Derek", 
"HECK, Denny", "POCAN, Mark", "KELLY, Robin L.", "KILDEE, Dan", 
"SMITH, Jason", "CLARK, Katherine M.", "BYRNE, Bradley", "PALMER, Gary James", 
"GALLEGO, Ruben", "HILL, French", "DESAULNIER, Mark James", "AGUILAR, Peter Rey", 
"LIEU, Ted", "TORRES, Norma Judith", "BUCK, Kenneth Robert", 
"CARTER, Buddy", "HICE, Jody Brownlow", "LOUDERMILK, Barry D.", 
"ALLEN, Rick W.", "BOST, Mike", "ABRAHAM, Ralph", "GRAVES, Garret", 
"MOULTON, Seth", "MOOLENAAR, John", "DINGELL, Debbie", "LAWRENCE, Brenda L", 
"EMMER, Thomas Earl II", "NORCROSS, Donald", "WATSON COLEMAN, Bonnie", 
"ZELDIN, Lee M", "RICE, Kathleen Maura", "STEFANIK, Elise M", 
"KATKO, John", "WALKER, Bradley Mark", "ROUZER, David", "ADAMS, Alma", 
"BOYLE, Brendan Francis", "RATCLIFFE, John", "HURD, William Ballard", 
"BABIN, Brian", "BEYER, Donald Sternoff Jr.", "NEWHOUSE, Daniel Milton", 
"MOONEY, Alex X.", "GROTHMAN, Glenn", "KELLY, Trent", "LaHOOD, Darin", 
"WESTERMAN, Bruce Eugene", "DAVIDSON, Warren", "COMER, James", 
"EVANS, Dwight", "ARRINGTON, Jodey Cook", "BACON, Donald J.", 
"BANKS, James E.", "BARRAGÁN, Nanette Diaz", "BERGMAN, John", 
"BIGGS, Andrew S.", "BLUNT ROCHESTER, Lisa", "BROWN, Anthony Gregory", 
"BUDD, Theodore Paul", "CARBAJAL, Salud", "CHENEY, Liz", "CORREA, Jose Luis", 
"CRIST, Charlie Joseph Jr.", "DEMINGS, Valdez Butler", "DUNN, Neal Patrick", 
"ESPAILLAT, Adriano J.", "FERGUSON, Anderson Drew IV", "FITZPATRICK, Brian K.", 
"GAETZ, Matthew L. II", "GALLAGHER, Michael", "GONZALEZ, Vicente Jr.", 
"GOTTHEIMER, Josh S.", "HIGGINS, Clay", "HOLLINGSWORTH, Joseph Albert III", 
"JAYAPAL, Pramila", "JOHNSON, Mike", "KHANNA, Rohit", "KRISHNAMOORTHI, S. Raja", 
"KUSTOFF, David", "LAWSON, Alfred Jr.", "MARSHALL, Roger Wayne", 
"MAST, Brian Jeffery", "MCEACHIN, Aston Donald", "MITCHELL, Paul", 
"MURPHY, Stephanie", "O'HALLERAN, Thomas C.", "PANETTA, James Varni", 
"RASKIN, Jamie Ben", "ROONEY, Francis", "RUTHERFORD, John Henry", 
"SMUCKER, Lloyd K.", "SOTO, Darren Michael", "SUOZZI, Thomas", 
"ESTES, Ron", "GIANFORTE, Greg", "NORMAN, Ralph", "GOMEZ, Jimmy", 
"CURTIS, John R.", "LAMB, Conor", "LESKO, Debbie", "CLOUD, Michael", 
"BALDERSON, Troy", "HERN, Kevin", "MORELLE, Joseph D.", "SCANLON, Mary Gay", 
"WILD, Susan", "ALLRED, Colin", "ARMSTRONG, Kelly", "AXNE, Cynthia", 
"BAIRD, James", "BRINDISI, Anthony", "BURCHETT, Timothy", "CASTEN, Sean", 
"CISNEROS, Gil", "CLINE, Benjamin", "COX, TJ", "CRAIG, Angela", 
"CRENSHAW, Daniel", "CROW, Jason", "CUNNINGHAM, Joe", "DAVIDS, Sharice", 
"DEAN, Madeleine", "DELGADO, Antonio", "ESCOBAR, Veronica", "FINKENAUER, Abby", 
"FLETCHER, Elizabeth", "FULCHER, Russell", "GARCÍA, Jesús", 
"GARCIA, Sylvia", "GOLDEN, Jared", "GONZALEZ, Anthony", "GOODEN, Lance", 
"GREEN, Mark", "GUEST, Michael", "HAALAND, Debra", "HAGEDORN, Jim", 
"HARDER, Josh", "HAYES, Jahana", "HILL, Katie", "HORN, Kendra", 
"HOULAHAN, Christina", "JOHNSON, Dustin", "JOYCE, John", "KIM, Andy", 
"LEE, Susie", "LEVIN, Mike", "LEVIN, Andy", "LURIA, Elaine", 
"MALINOWSKI, Tomaz", "McADAMS, Ben", "McBATH, Lucy", "MEUSER, Dan", 
"MILLER, Carol", "MUCARSEL-POWELL, Debbie", "NEGUSE, Joseph", 
"OCASIO-CORTEZ, Alexandria", "OMAR, Ilhan", "PAPPAS, Chris", 
"PENCE, Gregory", "PHILLIPS, Dean", "PORTER, Katie", "PRESSLEY, Ayanna", 
"RESCHENTHALER, Guy", "RIGGLEMAN, Denver", "ROSE, Max", "ROSE, John", 
"ROUDA, Harley", "ROY, Charles", "SCHRIER, Kim", "SHALALA, Donna", 
"SHERRILL, Mikie", "SPANBERGER, Abigail", "SPANO, Ross", "STANTON, Greg", 
"STAUBER, Peter", "STEIL, Bryan", "STEUBE, William", "STEVENS, Haley", 
"TAYLOR, Nicholas", "TIMMONS, William", "TLAIB, Rashida", "TORRES SMALL, Xochitl", 
"TRAHAN, Lori", "TRONE, David", "UNDERWOOD, Lauren", "WALTZ, Michael", 
"WATKINS, Steve", "WEXTON, Jennifer", "WRIGHT, Ron", "WATERS, Maxine", 
"DeLAURO, Rosa L.", "PETERSON, Collin Clark", "SERRANO, José E.", 
"ESHOO, Anna Georges", "ROYBAL-ALLARD, Lucille", "CALVERT, Ken", 
"HASTINGS, Alcee Lamar", "BISHOP, Sanford Dixon, Jr.", "RUSH, Bobby L.", 
"THOMPSON, Bennie", "KING, Peter T.", "NADLER, Jerrold Lewis", 
"VELÁZQUEZ, Nydia M.", "MALONEY, Carolyn Bosher", "LUCAS, Frank D.", 
"LOFGREN, Zoe", "CHABOT, Steve", "DOYLE, Michael F.", "DOGGETT, Lloyd Alton, II", 
"THORNBERRY, William McClellan (Mac)", "JACKSON LEE, Sheila", 
"CUMMINGS, Elijah Eugene", "BLUMENAUER, Earl", "ADERHOLT, Robert", 
"SHERMAN, Brad", "DeGETTE, Diana", "DAVIS, Danny K.", "SHIMKUS, John M.", 
"McGOVERN, James P.", "PASCRELL, William J., Jr.", "BRADY, Kevin Patrick", 
"GRANGER, Kay", "SMITH, Adam", "KIND, Ron", "MEEKS, Gregory W.", 
"LEE, Barbara", "THOMPSON, Michael", "NAPOLITANO, Grace Flores", 
"LARSON, John B.", "SIMPSON, Michael K.", "SCHAKOWSKY, Janice D.", 
"WALDEN, Greg", "DelBENE, Suzan K.", "MASSIE, Thomas", "PAYNE, Donald, Jr.", 
"CLYBURN, James Enos", "JOHNSON, Eddie Bernice", "SCOTT, Robert C.", 
"YOUNG, Donald Edwin", "SENSENBRENNER, Frank James, Jr.", "ROGERS, Harold Dallas (Hal)", 
"SMITH, Christopher Henry", "HOYER, Steny Hamilton", "COOPER, James Hayes Shofner", 
"KAPTUR, Marcia Carolyn (Marcy)", "VISCLOSKY, Peter", "DeFAZIO, Peter Anthony", 
"LEWIS, John R.", "PRICE, David Eugene", "UPTON, Frederick Stephen", 
"PALLONE, Frank, Jr.", "ENGEL, Eliot Lance", "LOWEY, Nita M.", 
"NEAL, Richard Edmund", "SCHIFF, Adam", "DAVIS, Susan A.", "LYNCH, Stephen F.", 
"McCOLLUM, Betty", "GRAVES, Samuel", "LANGEVIN, James", "WILSON, Addison Graves (Joe)", 
"LARSEN, Richard Ray (Rick)", "CLAY, William Lacy, Jr.", "ROGERS, Mike Dennis", 
"GRIJALVA, Raúl M.", "NUNES, Devin", "SÁNCHEZ, Linda T.", "DIAZ-BALART, Mario", 
"SCOTT, David", "CASE, Ed", "KING, Steve", "RUPPERSBERGER, C. A. (Dutch)", 
"BUTTERFIELD, George Kenneth, Jr. (G.K.)", "TURNER, Michael R.", 
"RYAN, Timothy J.", "COLE, Tom", "BURGESS, Michael C.", "CARTER, John R.", 
"BISHOP, Robert (Rob)", "COSTA, Jim", "WASSERMAN SCHULTZ, Debbie", 
"LIPINSKI, Daniel", "CLEAVER, Emanuel, II", "FORTENBERRY, Jeff", 
"HIGGINS, Brian", "FOXX, Virginia Ann", "McHENRY, Patrick T.", 
"GOHMERT, Louie", "GREEN, Al", "McCAUL, Michael T.", "CONAWAY, K. Michael", 
"MARCHANT, Kenny", "CUELLAR, Henry", "McMORRIS RODGERS, Cathy", 
"MOORE, Gwendolynne S. (Gwen)", "MATSUI, Doris", "SIRES, Albio", 
"McNERNEY, Jerry", "MCCARTHY, Kevin", "LAMBORN, Doug", "PERLMUTTER, Ed", 
"COURTNEY, Joe", "CASTOR, Kathy", "BUCHANAN, Vernon G.", "JOHNSON, Hank", 
"LOEBSACK, Dave", "YARMUTH, John", "SARBANES, John", "WALBERG, Tim", 
"SMITH, Adrian", "CLARKE, Yvette Diane", "JORDAN, Jim", "COHEN, Stephen", 
"FOSTER, Bill", "WELCH, Peter", "LATTA, Robert E.", "WITTMAN, Robert J.", 
"CARSON, André", "BILIRAKIS, Gus", "SCALISE, Steve", "SPEIER, Karen Lorraine Jacqueline (Jackie)", 
"KIRKPATRICK, Ann", "McCLINTOCK, Tom", "HIMES, James A.", "POSEY, Bill", 
"GUTHRIE, Brett", "PINGREE, Chellie", "LUETKEMEYER, Blaine", 
"TITUS, Alice (Dina)", "LUJÁN, Ben Ray", "TONKO, Paul", "FUDGE, Marcia L.", 
"SCHRADER, Kurt", "THOMPSON, Glenn", "ROE, David P. (Phil)", 
"OLSON, Pete", "CONNOLLY, Gerald E. (Gerry)", "QUIGLEY, Mike", 
"CHU, Judy", "GARAMENDI, John", "DEUTCH, Theodore E. (Ted)", 
"GRAVES, Tom", "HUNTER, Duncan Duane", "REED, Thomas W. II", 
"SEWELL, Terri", "GOSAR, Paul", "SCHWEIKERT, David", "CRAWFORD, Rick", 
"WOMACK, Steve", "TIPTON, Scott", "WEBSTER, Daniel A.", "WOODALL, Rob", 
"SCOTT, Austin", "KINZINGER, Adam", "BUCSHON, Larry", "RICHMOND, Cedric", 
"HARRIS, Andy", "KEATING, William R.", "HUIZENGA, Bill", "AMASH, Justin", 
"PALAZZO, Steven", "HARTZLER, Vicky", "LONG, Billy", "JOHNSON, Bill", 
"STIVERS, Steve", "GIBBS, Bob", "KELLY, Mike", "MARINO, Thomas A.", 
"CICILLINE, David N.", "DUNCAN, Jeff", "FLEISCHMANN, Chuck", 
"DESJARLAIS, Scott", "FLORES, Bill", "HERRERA BEUTLER, Jaime", 
"McKINLEY, David", "DUFFY, Sean", "GRIFFITH, H. Morgan", "ROBY, Martha", 
"BROOKS, Mo", "AMODEI, Mark E.", "BONAMICI, Suzanne", "LaMALFA, Doug", 
"HUFFMAN, Jared", "BERA, Ami", "COOK, Paul", "SWALWELL, Eric", 
"BROWNLEY, Julia", "RUIZ, Raul", "TAKANO, Mark", "LOWENTHAL, Alan", 
"VARGAS, Juan", "PETERS, Scott", "YOHO, Ted", "FRANKEL, Lois", 
"COLLINS, Doug", "GABBARD, Tulsi", "SCHNEIDER, Brad", "DAVIS, Rodney", 
"BUSTOS, Cheri", "WALORSKI, Jackie", "BROOKS, Susan", "BARR, Garland H. (Andy) IV", 
"KENNEDY, Joseph P. III", "WAGNER, Ann", "HORSFORD, Steven", 
"KUSTER, Ann McLane", "MENG, Grace", "JEFFRIES, Hakeem", "MALONEY, Sean Patrick", 
"COLLINS, Chris", "HUDSON, Richard", "MEADOWS, Mark", "HOLDING, George E.B.", 
"WENSTRUP, Brad", "BEATTY, Joyce", "JOYCE, David", "MULLIN, Markwayne", 
"PERRY, Scott", "CARTWRIGHT, Matt", "RICE, Tom", "WEBER, Randy", 
"CASTRO, Joaquin", "WILLIAMS, Roger", "VEASEY, Marc", "VELA, Filemon", 
"STEWART, Chris", "KILMER, Derek", "HECK, Denny", "POCAN, Mark", 
"KELLY, Robin L.", "KILDEE, Dan", "SMITH, Jason", "CLARK, Katherine M.", 
"BYRNE, Bradley", "PALMER, Gary James", "GALLEGO, Ruben", "HILL, French", 
"DESAULNIER, Mark James", "AGUILAR, Peter Rey", "LIEU, Ted", 
"TORRES, Norma Judith", "BUCK, Kenneth Robert", "CARTER, Buddy", 
"HICE, Jody Brownlow", "LOUDERMILK, Barry D.", "ALLEN, Rick W.", 
"BOST, Mike", "ABRAHAM, Ralph", "GRAVES, Garret", "MOULTON, Seth", 
"MOOLENAAR, John", "DINGELL, Debbie", "LAWRENCE, Brenda L", "EMMER, Thomas Earl II", 
"NORCROSS, Donald", "WATSON COLEMAN, Bonnie", "ZELDIN, Lee M", 
"RICE, Kathleen Maura", "STEFANIK, Elise M", "KATKO, John", "WALKER, Bradley Mark", 
"ROUZER, David", "ADAMS, Alma", "BOYLE, Brendan Francis", "RATCLIFFE, John", 
"HURD, William Ballard", "BABIN, Brian", "BEYER, Donald Sternoff Jr.", 
"NEWHOUSE, Daniel Milton", "MOONEY, Alex X.", "GROTHMAN, Glenn", 
"KELLY, Trent", "LaHOOD, Darin", "WESTERMAN, Bruce Eugene", "DAVIDSON, Warren", 
"COMER, James", "EVANS, Dwight", "ARRINGTON, Jodey Cook", "BACON, Donald J.", 
"BANKS, James E.", "BARRAGÁN, Nanette Diaz", "BERGMAN, John", 
"BIGGS, Andrew S.", "BLUNT ROCHESTER, Lisa", "BROWN, Anthony Gregory", 
"BUDD, Theodore Paul", "CARBAJAL, Salud", "CHENEY, Liz", "CORREA, Jose Luis", 
"CRIST, Charlie Joseph Jr.", "DEMINGS, Valdez Butler", "DUNN, Neal Patrick", 
"ESPAILLAT, Adriano J.", "FERGUSON, Anderson Drew IV", "FITZPATRICK, Brian K.", 
"GAETZ, Matthew L. II", "GALLAGHER, Michael", "GONZALEZ, Vicente Jr.", 
"GOTTHEIMER, Josh S.", "HIGGINS, Clay", "HOLLINGSWORTH, Joseph Albert III", 
"JAYAPAL, Pramila", "JOHNSON, Mike", "KHANNA, Rohit", "KRISHNAMOORTHI, S. Raja", 
"KUSTOFF, David", "LAWSON, Alfred Jr.", "MARSHALL, Roger Wayne", 
"MAST, Brian Jeffery", "MCEACHIN, Aston Donald", "MITCHELL, Paul", 
"MURPHY, Stephanie", "O'HALLERAN, Thomas C.", "PANETTA, James Varni", 
"RASKIN, Jamie Ben", "ROONEY, Francis", "RUTHERFORD, John Henry", 
"SOTO, Darren Michael", "SUOZZI, Thomas", "ESTES, Ron", "GIANFORTE, Greg", 
"NORMAN, Ralph", "GOMEZ, Jimmy", "CURTIS, John R.", "LAMB, Conor", 
"LESKO, Debbie", "CLOUD, Michael", "BALDERSON, Troy", "HERN, Kevin", 
"MORELLE, Joseph D.", "SCANLON, Mary Gay", "ALLRED, Colin", "ARMSTRONG, Kelly", 
"AXNE, Cynthia", "BAIRD, James", "BRINDISI, Anthony", "BURCHETT, Timothy", 
"CASTEN, Sean", "CISNEROS, Gil", "CLINE, Benjamin", "COX, TJ", 
"CRAIG, Angela", "CRENSHAW, Daniel", "CROW, Jason", "CUNNINGHAM, Joe", 
"DAVIDS, Sharice", "DEAN, Madeleine", "DELGADO, Antonio", "ESCOBAR, Veronica", 
"FINKENAUER, Abby", "FLETCHER, Elizabeth", "FULCHER, Russell", 
"GARCÍA, Jesús", "GARCIA, Sylvia", "GOLDEN, Jared", "GONZALEZ, Anthony", 
"GOODEN, Lance", "GREEN, Mark", "GUEST, Michael", "HAALAND, Debra", 
"HAGEDORN, Jim", "HARDER, Josh", "HAYES, Jahana", "HILL, Katie", 
"HORN, Kendra", "HOULAHAN, Christina", "JOHNSON, Dustin", "JOYCE, John", 
"KIM, Andy", "LEE, Susie", "LEVIN, Mike", "LEVIN, Andy", "LURIA, Elaine", 
"MALINOWSKI, Tomaz", "McADAMS, Ben", "McBATH, Lucy", "MEUSER, Dan", 
"MILLER, Carol", "MUCARSEL-POWELL, Debbie", "NEGUSE, Joseph", 
"OCASIO-CORTEZ, Alexandria", "OMAR, Ilhan", "PAPPAS, Chris", 
"PENCE, Gregory", "PHILLIPS, Dean", "PORTER, Katie", "PRESSLEY, Ayanna", 
"RESCHENTHALER, Guy", "RIGGLEMAN, Denver", "ROSE, Max", "ROSE, John", 
"ROUDA, Harley", "ROY, Charles", "SCHRIER, Kim", "SHALALA, Donna", 
"SHERRILL, Mikie", "SLOTKIN, Elissa", "SPANBERGER, Abigail", 
"SPANO, Ross", "STANTON, Greg", "STAUBER, Peter", "STEIL, Bryan", 
"STEUBE, William", "STEVENS, Haley", "TAYLOR, Nicholas", "TIMMONS, William", 
"TLAIB, Rashida", "TORRES SMALL, Xochitl"), session = c(116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
116, 116, 116, 116, 116, 116), sessionvote = c(1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), voter_response = c("n", 
"n", "n", "n", "y", "y", "y", "y", "y", "y", "n", "y", "y", "y", 
"y", "y", "y", "y", "y", "y", "n", "y", "n", "y", "y", "n", "y", 
"n", "y", "n", "y", "y", "n", "y", "y", "n", "y", "n", "n", "n", 
"n", "y", "y", "y", "y", "n", "y", "n", "n", "n", "y", "n", "n", 
"n", "y", "n", "y", "y", "y", "y", "n", "n", "y", "y", "y", "n", 
"y", "y", "y", "y", "n", "n", "y", "n", "y", "y", "y", "n", "n", 
"y", "n", "n", "y", "y", "n", "y", "n", "n", "y", "n", "y", "y", 
"y", "y", "n", "n", "n", "n", "y", "y", "y", "y", "y", "n", "n", 
"n", "y", "n", "n", "n", "n", "y", "n", "n", "y", "n", "n", "n", 
"n", "y", "n", "y", "n", "n", "n", "n", "n", "n", "n", "n", "n", 
"n", "y", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", 
"y", "n", "y", "y", "n", "y", "y", "y", "y", "y", "y", "y", "y", 
"n", "y", "n", "y", "y", "n", "y", "n", "n", "n", "y", "n", "y", 
"y", "y", "y", "y", "n", "n", "n", "n", "n", "y", "n", "n", "n", 
"y", "n", "n", "y", "n", "y", "y", "n", "y", "y", "y", "y", "y", 
"n", "y", "n", "n", "y", "n", "y", "y", "y", "y", "n", "n", "n", 
"n", "n", "n", "n", "n", "y", "n", "y", "y", "n", "y", "y", "n", 
"n", "n", "n", "n", "n", "y", "y", "n", "n", "n", "y", "n", "n", 
"n", "n", "n", "n", "n", "n", "y", "n", "n", "n", "y", "n", "n", 
"y", "y", "n", "y", "n", "y", "y", "y", "n", "y", "n", "n", "n", 
"n", "y", "y", "n", "n", "y", "n", "y", "y", "n", "y", "n", "n", 
"y", "n", "y", "y", "y", "y", "n", "n", "n", "y", "y", "n", "n", 
"n", "y", "n", "n", "n", "n", "n", "n", "y", "y", "y", "y", "n", 
"y", "n", "n", "n", "y", "y", "n", "y", "y", "n", "n", "n", "y", 
"y", "y", "y", "y", "y", "n", "y", "y", "n", "n", "n", "n", "n", 
"y", "n", "y", "y", "y", "y", "y", "n", "n", "y", "y", "y", "y", 
"y", "y", "n", "y", "n", "n", "y", "y", "y", "y", "y", "n", "y", 
"y", "y", "n", "n", "n", "n", "y", "n", "y", "y", "n", "n", "n", 
"y", "n", "n", "n", "y", "n", "n", "y", "y", "y", "y", "y", "n", 
"n", "y", "n", "y", "y", "y", "y", "y", "y", "n", "y", "y", "y", 
"y", "n", "y", "y", "y", "n", "y", "n", "y", "y", "n", "y", "y", 
"y", "n", "y", "y", "y", "n", "y", "y", "n", "n", "y", "n", "y", 
"y", "y", "y", "y", "n", "y", "n", "y", "n", "y", "y", "y", "y", 
"n", "n", "n", "n", "y", "y", "y", "y", "y", "y", "y", "n", "y", 
"y", "y", "y", "y", "y", "y", "y", "n", "y", "n", "y", "y", "n", 
"y", "n", "y", "n", "y", "y", "n", "y", "y", "n", "y", "n", "n", 
"n", "n", "y", "y", "y", "y", "n", "y", "n", "n", "n", "y", "n", 
"n", "n", "y", "n", "y", "y", "y", "y", "n", "n", "y", "y", "y", 
"n", "y", "y", "y", "y", "n", "n", "y", "n", "y", "y", "y", "n", 
"n", "y", "n", "n", "y", "y", "n", "y", "n", "n", "y", "n", "y", 
"y", "y", "y", "y", "n", "n", "n", "y", "y", "y", "y", "y", "n", 
"n", "n", "y", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", 
"y", "n", "y", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", 
"y", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "y", 
"n", "y", "y", "n", "y", "y", "y", "y", "y", "y", "y", "n", "y", 
"n", "y", "y", "n", "y", "n", "n", "n", "y", "n", "y", "y", "y", 
"y", "y", "n", "n", "n", "n", "n", "y", "n", "n", "n", "y", "n", 
"n", "y", "n", "y", "y", "n", "y", "y", "y", "y", "y", "n", "y", 
"n", "n", "y", "n", "y", "y", "y", "y", "n", "n", "n", "n", "n", 
"n", "n", "n", "y", "n", "y", "y", "n", "y", "y", "n", "y", "n", 
"n", "n", "n", "y", "y", "n", "n", "n", "y", "n", "n", "n", "n", 
"n", "n", "n", "n", "y", "n", "n", "n", "y", "n", "n", "y", "y", 
"n", "y", "n", "y", "y", "y", "n", "y", "n", "n", "n", "n", "y", 
"y", "n", "n", "y", "n", "y", "y", "n", "y", "n", "n", "y", "n", 
"y", "y", "y", "y", "n", "n", "y", "y", "n", "n", "n", "y", "n", 
"y", "n", "n", "n", "n", "y", "y", "y", "n", "y", "n", "y", "n", 
"y", "y", "n", "y", "y", "n", "y", "y", "y", "y", "y", "y", "y", 
"y", "n", "y", "y", "y", "n", "n", "n", "n", "y", "n", "y", "y", 
"y", "y", "y", "n", "n", "y", "y", "y", "y", "y", "y", "y", "y", 
"n", "n", "y", "y", "y", "y", "y", "n", "y", "y", "y", "n", "n", 
"y", "n", "y", "n", "y", "y", "y", "y", "y", "n", "y", "n", "n", 
"n", "y", "n", "n", "y", "y")), row.names = c(NA, -800L), class = c("tbl_df", 
"tbl", "data.frame"))

推荐答案

以下是一个主要使用combn的解决方案:

#Create a wide data.frame with 1 row per session (can be done otherwise)
nms <- unique(df$name)
df$voter_response <- ifelse(tolower(df$voter_response) == "y", 1, 0)
dfwd <- 
  tidyr::pivot_wider(df, names_from = "name", values_from = "voter_response") |> 
  subset(select = nms)

#Create the distance matrix
mat <- diag(ncol(dfwd))
colnames(mat) <- rownames(mat) <- nms

#Iterate a function over the combinations of columns: the function
#looks for the mean similarity value
comb <- 
  combn(ncol(dfwd), m = 2,
        FUN = \(k) mean(dfwd[, k[1]] == dfwd[, k[2]], na.rm = TRUE))

#Assign these values to both the upper and lower triangles of the matrix.
mat[upper.tri(mat)] <- mat[lower.tri(mat)] <- comb

#Output
            Tim Dave     Larry John
Tim   1.0000000  0.5 0.6666667    0
Dave  0.5000000  1.0 0.0000000    1
Larry 0.6666667  0.0 1.0000000    0
John  0.0000000  1.0 0.0000000    1

生效日期:

df <- read.table(h=T,text="name session sessionvote voter_response
Tim 116 1   Y
Tim 116 2   N
Tim 117 1   Y
Tim 117 2   Y
Dave    117 1   N
Dave    117 2   Y
Larry   116 1   Y
Larry   116 2   Y
Larry   117 1   Y
John    117 1   N")

R相关问答推荐

如何在列表的子元素上使用setName

如何将多个数据帧附加到R中的多个相应的CSV文件中?

使用gggplot 2在R中重新调整面板和y轴文本大小

如何创建构成多个独立列条目列表的收件箱框列?

如何在ggplot 2线性图的每个方面显示每个组的误差条?

在R中查找每个组不同时间段的总天数

如何直接从R中的风险分数计算c指数?

计算时间段的ECDF(R)

使用data.table::fcase()而不是dplyr::case_When()时保持值

R中的哈密顿滤波

R-按最接近午夜的时间进行筛选

具有重复元素的维恩图

按组计算列中1出现的间隔年数

R基于变量组合创建新的指标列

R仅当存在列时才发生变异

变异以按组从其他列创建具有最大和最小值的新列

如何在Quarto中使用美人鱼图表中的标记来加粗文本

是否从列中删除★符号?

将数据从一列转换为按组累计计数的单个虚拟变量

禁用时,SelecizeInput将变得不透明