2010-11-06 13 views
9

Tôi có dữ liệu về tất cả các phiếu bầu trong Quốc hội Đan Mạch trong năm 2008-9. Vấn đề là mỗi phiếu được ghi lại trong tập tin .txt riêng của mình với định dạng sau (xem phụ lục của bài cho một bãi chứa ba phiếu từ R):Hợp nhất nhiều khung dữ liệu trong R

Name    Party Vote 
Anders Samuelsen LA  For 
Rasmus Prehn  S  Imod 
...    ... ... 

Tôi muốn hợp nhất tất cả các tập tin một khung dữ liệu với định dạng sau:

Name    Party Vote1 Vote2 Vote3 
Anders Samuelsen LA  For Imod Imod 
Rasmus Prehn  S  Imod For Fraværende 

(Đan Mạch dịch: Đối với = yes, IMOD = no, FravÃ|rende = vắng mặt)

Trong tổng tôi có hơn 200 tác phẩm, vì vậy câu hỏi là: làm thế nào tôi có thể viết một vòng lặp kết hợp tất cả các khung dữ liệu vào cấu trúc mong muốn ở trên?

Phụ lục:

Vote1:

structure(list(V1 = structure(c(2L, 3L, 4L, 7L, 8L, 5L, 6L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 
36L, 37L, 38L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 
50L, 51L, 52L, 53L, 39L, 54L, 55L, 56L, 60L, 61L, 62L, 63L, 64L, 
65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 57L, 58L, 59L, 
75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 
88L, 89L, 90L, 91L, 92L, 93L, 94L, 96L, 97L, 98L, 95L, 99L, 100L, 
101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 
112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 
123L, 125L, 126L, 127L, 124L, 128L, 129L, 130L, 131L, 132L, 133L, 
134L, 135L, 136L, 137L, 139L, 140L, 141L, 138L, 142L, 143L, 144L, 
145L, 146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L, 154L, 155L, 
160L, 161L, 162L, 163L, 164L, 156L, 157L, 158L, 159L, 165L, 166L, 
167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L, 176L, 177L, 
178L, 179L, 1L), .Label = c("Özlem Sara Cekic", "Anders Samuelsen", 
"Anita Christensen", "Anita Knakkergaard", "Anne-Marie Meldgaard", 
"Anne-Mette Winther Christians", "Anne Baastrup", "Anne Grete Holmsgaard", 
"Annette Lilja Vilhelmsen", "Benny Engelbrecht", "Bent Bøgsted", 
"Bente Dahl", "Bertel Haarder", "Birgitte Josefsen", "Birthe Rønn Hornbech", 
"Bjarne Laustsen", "Brian Mikkelsen", "Britta Schall Holberg", 
"Carina Christensen", "Carsten Hansen", "Charlotte Dyremose", 
"Christine Antorini", "Claus Hjort Frederiksen", "Colette L. Brix", 
"Connie Hedegaard", "Dennis Flydtkjær", "Edmund Joensen", "Eigil Andersen", 
"Ellen Trane Nørby", "Erling Bonnesen", "Eva Kjer Hansen", "Eyvind Vesselbo", 
"Flemming Bonne", "Flemming Damgaard Larsen", "Flemming Møller", 
"Flemming Møller Mortensen", "Frank Aaen", "Gitte Lillelund Bech", 
"Høgni Hoydal", "Hanne Agersnap", "Hans Christian Schmidt", 
"Hans Christian Thoning", "Hans Kristian Skibby", "Helge Adam Møller", 
"Helge Sander", "Helle Sjelle", "Helle Thorning-Schmidt", "Henriette Kjær", 
"Henrik Brodersen", "Henrik Dam Kristensen", "Henrik Høegh", 
"Henrik Sass Larsen", "Holger K. Nielsen", "Ib Poulsen", "Ida Auken", 
"Inger Støjberg", "Jørgen Poulsen", "Jørgen S. Lundsgaard", 
"Jørn Dohrmann", "Jacob Jensen", "Jakob Axel Nielsen", "Jens Christian Lund", 
"Jens Kirk", "Jens Peter Vernersen", "Jens Vibjerg", "Jeppe Kofod", 
"Jesper Langballe", "Jesper Petersen", "Johanne Schmidt-Nielsen", 
"John Dyrby Paulsen", "Johs. Poulsen", "Jonas Dahl", "Juliane Henningsen", 
"Julie Rademacher", "Kamal Qureshi", "Karen Ellemann", "Karen Hækkerup", 
"Karen J. Klint", "Karen Jespersen", "Karin Nødgaard", "Karina Lorentzen Dehnhardt", 
"Karl H. Bornhøft", "Karsten Lauritzen", "Karsten Nonbo", "Kim Andersen", 
"Kim Christiansen", "Kim Mortensen", "Kirsten Brosbøl", "Klaus Hækkerup", 
"Knud Kristensen", "Kristen Touborg", "Kristian Jensen", "Kristian Pihl Lorentzen", 
"Kristian Thulesen Dahl", "Lars-Emil Johansen", "Lars Barfoed", 
"Lars Christian Lilleholt", "Lars Løkke Rasmussen", "Leif Lahn Jensen", 
"Lene Espersen", "Lene Hansen", "Lennart Damsbo-Andersen", "Line Barfod", 
"Lise von Seelen", "Liselott Blixt", "Lone Dybkjær", "Lone Møller", 
"Louise Schack Elholm", "Magnus Heunicke", "Malou Aamund", "Margrethe Vestager", 
"Marianne Jelved", "Marion Pedersen", "Marlene Harpsøe", "Martin Henriksen", 
"Meta Fuglsang", "Mette Frederiksen", "Mette Gjerskov", "Michael Aastrup Jensen", 
"Mike Legarth", "Mikkel Dencker", "Mogens Jensen", "Mogens Lykketoft", 
"Morten Østergaard", "Morten Bødskov", "Morten Helveg Petersen", 
"Morten Messerschmidt", "Nanna Westerby", "Naser Khader", "Nick Hækkerup", 
"Niels Christian Nielsen", "Niels Helveg Petersen", "Niels Sindal", 
"Ole Hækkerup", "Ole Sohn", "Ole Vagn Christensen", "Orla Hav", 
"Per Ørum Jørgensen", "Per Bisgaard", "Per Clausen", "Per Stig Møller", 
"Pernille Frahm", "Pernille Vigsø Bagge", "Peter Christensen", 
"Peter Juel Jensen", "Peter Skaarup", "Pia Adelsteen", "Pia Christmas-Møller", 
"Pia Kjærsgaard", "Pia Olsen Dyhr", "Poul Andersen", "Preben Rudiengaard", 
"Rasmus Prehn", "René Christensen", "René Skau Björnsson", 
"Søren Espersen", "Søren Gade", "Søren Krarup", "Søren Pind", 
"Simon Emil Ammitzbøll", "Sophie Hæstorp Andersen", "Sophie Løhde", 
"Steen Gade", "Svend Auken", "Thomas Adelskov", "Thomas Jensen", 
"Thor Pedersen", "Tina Nedergaard", "Tina Petersen", "Tom Behnke", 
"Torben Hansen", "Torsten Schack Pedersen", "Troels Christensen", 
"Troels Lund Poulsen", "Ulla Tørnæs", "Villum Christensen", 
"Villy Søvndal", "Vivi Kier", "Yildiz Akdogan"), class = "factor"), 
    V2 = structure(c(5L, 1L, 1L, 8L, 8L, 7L, 13L, 8L, 7L, 1L, 
    6L, 13L, 13L, 13L, 7L, 4L, 13L, 4L, 7L, 4L, 7L, 13L, 1L, 
    4L, 1L, 10L, 8L, 13L, 13L, 13L, 13L, 8L, 13L, 13L, 7L, 2L, 
    13L, 8L, 13L, 13L, 1L, 4L, 13L, 4L, 7L, 4L, 1L, 7L, 13L, 
    7L, 8L, 11L, 1L, 8L, 13L, 13L, 4L, 7L, 13L, 7L, 13L, 7L, 
    1L, 8L, 2L, 7L, 6L, 8L, 3L, 7L, 6L, 4L, 1L, 8L, 13L, 7L, 
    7L, 13L, 1L, 8L, 8L, 13L, 13L, 13L, 1L, 7L, 7L, 7L, 4L, 8L, 
    13L, 13L, 1L, 4L, 13L, 13L, 9L, 7L, 4L, 7L, 7L, 2L, 7L, 1L, 
    6L, 7L, 13L, 7L, 13L, 6L, 6L, 13L, 1L, 1L, 8L, 7L, 7L, 13L, 
    4L, 1L, 7L, 7L, 7L, 6L, 1L, 6L, 8L, 4L, 7L, 7L, 6L, 7L, 7L, 
    8L, 7L, 7L, 13L, 2L, 4L, 4L, 8L, 8L, 13L, 13L, 1L, 1L, 12L, 
    1L, 8L, 7L, 13L, 7L, 1L, 7L, 12L, 7L, 13L, 8L, 7L, 1L, 13L, 
    1L, 13L, 7L, 7L, 13L, 13L, 1L, 4L, 7L, 13L, 13L, 13L, 13L, 
    5L, 8L, 4L, 7L, 8L), .Label = c("DF", "EL", "IA", "KF", "LA", 
    "RV", "S", "SF", "SIU", "SP", "TF", "UFG", "V"), class = "factor"), 
    V3 = structure(c(1L, 1L, 1L, 3L, 3L, 2L, 1L, 3L, 3L, 1L, 
    3L, 1L, 1L, 2L, 3L, 1L, 1L, 2L, 2L, 1L, 3L, 2L, 2L, 2L, 1L, 
    2L, 3L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 
    1L, 1L, 2L, 2L, 2L, 1L, 1L, 3L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 
    1L, 1L, 3L, 1L, 3L, 2L, 2L, 2L, 3L, 3L, 3L, 2L, 3L, 2L, 3L, 
    2L, 1L, 2L, 2L, 2L, 3L, 2L, 1L, 1L, 3L, 3L, 2L, 1L, 1L, 2L, 
    3L, 2L, 3L, 2L, 3L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 3L, 2L, 3L, 
    3L, 3L, 3L, 1L, 3L, 3L, 1L, 3L, 2L, 2L, 3L, 1L, 1L, 1L, 3L, 
    3L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 2L, 2L, 3L, 1L, 3L, 3L, 
    3L, 3L, 2L, 2L, 3L, 3L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 1L, 2L, 
    1L, 2L, 2L, 2L, 3L, 1L, 3L, 1L, 2L, 1L, 3L, 1L, 2L, 2L, 2L, 
    2L, 1L, 1L, 2L, 3L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 
    2L, 1L, 3L, 2L), .Label = c("For", "Fraværende", "Imod"), class = "factor")), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -179L)) 

Vote2:

structure(list(V1 = structure(c(2L, 3L, 4L, 7L, 8L, 5L, 6L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 
36L, 37L, 38L, 39L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 
50L, 51L, 52L, 53L, 54L, 40L, 55L, 56L, 59L, 60L, 61L, 62L, 63L, 
64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 57L, 58L, 74L, 
75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 
88L, 89L, 90L, 91L, 92L, 93L, 95L, 96L, 97L, 94L, 98L, 99L, 100L, 
101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 
112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 
124L, 125L, 126L, 123L, 127L, 128L, 129L, 130L, 131L, 132L, 133L, 
134L, 135L, 137L, 138L, 139L, 140L, 136L, 141L, 142L, 143L, 144L, 
145L, 146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L, 154L, 159L, 
160L, 161L, 162L, 163L, 155L, 156L, 157L, 158L, 164L, 165L, 166L, 
167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L, 176L, 177L, 
178L, 179L, 1L), .Label = c("Özlem Sara Cekic", "Anders Samuelsen", 
"Anita Christensen", "Anita Knakkergaard", "Anne-Marie Meldgaard", 
"Anne-Mette Winther Christians", "Anne Baastrup", "Anne Grete Holmsgaard", 
"Annette Lilja Vilhelmsen", "Bendt Bendtsen", "Benny Engelbrecht", 
"Bent Bøgsted", "Bente Dahl", "Bertel Haarder", "Birgitte Josefsen", 
"Birthe Rønn Hornbech", "Bjarne Laustsen", "Brian Mikkelsen", 
"Britta Schall Holberg", "Carina Christensen", "Carsten Hansen", 
"Charlotte Dyremose", "Christine Antorini", "Claus Hjort Frederiksen", 
"Colette L. Brix", "Connie Hedegaard", "Dennis Flydtkjær", "Edmund Joensen", 
"Eigil Andersen", "Ellen Trane Nørby", "Erling Bonnesen", "Eva Kjer Hansen", 
"Eyvind Vesselbo", "Flemming Bonne", "Flemming Damgaard Larsen", 
"Flemming Møller", "Flemming Møller Mortensen", "Frank Aaen", 
"Gitte Lillelund Bech", "Høgni Hoydal", "Hanne Agersnap", "Hans Christian Schmidt", 
"Hans Christian Thoning", "Hans Kristian Skibby", "Helge Adam Møller", 
"Helge Sander", "Helle Sjelle", "Helle Thorning-Schmidt", "Henriette Kjær", 
"Henrik Brodersen", "Henrik Dam Kristensen", "Henrik Høegh", 
"Henrik Sass Larsen", "Holger K. Nielsen", "Ib Poulsen", "Inger Støjberg", 
"Jørgen Poulsen", "Jørn Dohrmann", "Jacob Jensen", "Jakob Axel Nielsen", 
"Jens Christian Lund", "Jens Kirk", "Jens Peter Vernersen", "Jens Vibjerg", 
"Jeppe Kofod", "Jesper Langballe", "Jesper Petersen", "Johanne Schmidt-Nielsen", 
"John Dyrby Paulsen", "Johs. Poulsen", "Jonas Dahl", "Juliane Henningsen", 
"Julie Rademacher", "Kamal Qureshi", "Karen Ellemann", "Karen Hækkerup", 
"Karen J. Klint", "Karen Jespersen", "Karin Nødgaard", "Karina Lorentzen Dehnhardt", 
"Karl H. Bornhøft", "Karsten Lauritzen", "Karsten Nonbo", "Kim Andersen", 
"Kim Christiansen", "Kim Mortensen", "Kirsten Brosbøl", "Klaus Hækkerup", 
"Knud Kristensen", "Kristen Touborg", "Kristian Jensen", "Kristian Pihl Lorentzen", 
"Kristian Thulesen Dahl", "Lars-Emil Johansen", "Lars Barfoed", 
"Lars Christian Lilleholt", "Lars Løkke Rasmussen", "Leif Lahn Jensen", 
"Lene Espersen", "Lene Hansen", "Lennart Damsbo-Andersen", "Line Barfod", 
"Lise von Seelen", "Liselott Blixt", "Lone Dybkjær", "Lone Møller", 
"Louise Schack Elholm", "Magnus Heunicke", "Malou Aamund", "Margrethe Vestager", 
"Marianne Jelved", "Marion Pedersen", "Marlene Harpsøe", "Martin Henriksen", 
"Meta Fuglsang", "Mette Frederiksen", "Mette Gjerskov", "Michael Aastrup Jensen", 
"Mike Legarth", "Mikkel Dencker", "Mogens Jensen", "Mogens Lykketoft", 
"Morten Østergaard", "Morten Bødskov", "Morten Helveg Petersen", 
"Morten Messerschmidt", "Nanna Westerby", "Naser Khader", "Nick Hækkerup", 
"Niels Christian Nielsen", "Niels Helveg Petersen", "Niels Sindal", 
"Ole Hækkerup", "Ole Sohn", "Ole Vagn Christensen", "Per Ørum Jørgensen", 
"Per Bisgaard", "Per Clausen", "Per Husted", "Per Stig Møller", 
"Pernille Frahm", "Pernille Vigsø Bagge", "Peter Christensen", 
"Peter Juel Jensen", "Peter Skaarup", "Pia Adelsteen", "Pia Christmas-Møller", 
"Pia Kjærsgaard", "Pia Olsen Dyhr", "Poul Andersen", "Preben Rudiengaard", 
"Rasmus Prehn", "René Christensen", "René Skau Björnsson", 
"Søren Espersen", "Søren Gade", "Søren Krarup", "Søren Pind", 
"Simon Emil Ammitzbøll", "Sophie Hæstorp Andersen", "Sophie Løhde", 
"Steen Gade", "Svend Auken", "Thomas Adelskov", "Thomas Jensen", 
"Thor Pedersen", "Tina Nedergaard", "Tina Petersen", "Tom Behnke", 
"Torben Hansen", "Torsten Schack Pedersen", "Trine Mach", "Troels Christensen", 
"Troels Lund Poulsen", "Ulla Tørnæs", "Villum Christensen", 
"Villy Søvndal", "Vivi Kier", "Yildiz Akdogan"), class = "factor"), 
    V2 = structure(c(5L, 1L, 1L, 8L, 8L, 7L, 13L, 8L, 4L, 7L, 
    1L, 6L, 13L, 13L, 13L, 7L, 4L, 13L, 4L, 7L, 4L, 7L, 13L, 
    1L, 4L, 1L, 10L, 8L, 13L, 13L, 13L, 13L, 8L, 13L, 13L, 7L, 
    2L, 13L, 8L, 13L, 13L, 1L, 4L, 13L, 4L, 7L, 4L, 1L, 7L, 13L, 
    7L, 8L, 11L, 1L, 13L, 13L, 4L, 7L, 13L, 7L, 13L, 7L, 1L, 
    8L, 2L, 7L, 6L, 8L, 3L, 7L, 6L, 1L, 8L, 13L, 7L, 7L, 13L, 
    1L, 8L, 8L, 13L, 13L, 13L, 1L, 7L, 7L, 7L, 4L, 8L, 13L, 13L, 
    1L, 4L, 13L, 13L, 9L, 7L, 4L, 7L, 7L, 2L, 7L, 1L, 6L, 7L, 
    13L, 7L, 13L, 6L, 6L, 13L, 1L, 1L, 8L, 7L, 7L, 13L, 4L, 1L, 
    7L, 7L, 7L, 6L, 1L, 6L, 8L, 4L, 7L, 7L, 6L, 7L, 7L, 8L, 7L, 
    13L, 2L, 7L, 4L, 4L, 8L, 8L, 13L, 13L, 1L, 1L, 12L, 1L, 8L, 
    7L, 13L, 7L, 1L, 7L, 12L, 7L, 13L, 8L, 7L, 1L, 13L, 1L, 13L, 
    7L, 7L, 13L, 13L, 1L, 4L, 7L, 13L, 8L, 13L, 13L, 13L, 5L, 
    8L, 4L, 7L, 8L), .Label = c("DF", "EL", "IA", "KF", "LA", 
    "RV", "S", "SF", "SIU", "SP", "TF", "UFG", "V"), class = "factor"), 
    V3 = structure(c(3L, 1L, 1L, 3L, 2L, 2L, 2L, 2L, 2L, 3L, 
    1L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 
    1L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 
    3L, 1L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 3L, 2L, 3L, 2L, 1L, 2L, 
    3L, 3L, 3L, 3L, 3L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 3L, 2L, 3L, 
    2L, 1L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 2L, 3L, 1L, 2L, 
    3L, 3L, 2L, 2L, 3L, 3L, 1L, 3L, 3L, 2L, 2L, 3L, 2L, 3L, 2L, 
    2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 1L, 1L, 3L, 2L, 
    2L, 2L, 3L, 2L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 2L, 3L, 
    2L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 1L, 
    2L, 2L, 3L, 2L, 3L, 3L, 1L, 2L, 3L, 3L, 3L, 3L, 3L, 1L, 2L, 
    1L, 2L, 3L, 3L, 3L, 2L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 
    2L, 3L, 3L, 2L), .Label = c("For", "Fraværende", "Imod"), class = "factor")), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -179L)) 

Vote3:

structure(list(V1 = structure(c(2L, 3L, 4L, 7L, 8L, 5L, 6L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 
36L, 37L, 38L, 39L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 
50L, 51L, 52L, 53L, 54L, 40L, 55L, 56L, 59L, 60L, 61L, 62L, 63L, 
64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 57L, 58L, 74L, 
75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 
88L, 89L, 90L, 91L, 92L, 93L, 95L, 96L, 97L, 94L, 98L, 99L, 100L, 
101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L, 111L, 
112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L, 122L, 
124L, 125L, 126L, 123L, 127L, 128L, 129L, 130L, 131L, 132L, 133L, 
134L, 135L, 137L, 138L, 139L, 140L, 136L, 141L, 142L, 143L, 144L, 
145L, 146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L, 154L, 159L, 
160L, 161L, 162L, 163L, 155L, 156L, 157L, 158L, 164L, 165L, 166L, 
167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L, 176L, 177L, 
178L, 179L, 1L), .Label = c("Özlem Sara Cekic", "Anders Samuelsen", 
"Anita Christensen", "Anita Knakkergaard", "Anne-Marie Meldgaard", 
"Anne-Mette Winther Christians", "Anne Baastrup", "Anne Grete Holmsgaard", 
"Annette Lilja Vilhelmsen", "Bendt Bendtsen", "Benny Engelbrecht", 
"Bent Bøgsted", "Bente Dahl", "Bertel Haarder", "Birgitte Josefsen", 
"Birthe Rønn Hornbech", "Bjarne Laustsen", "Brian Mikkelsen", 
"Britta Schall Holberg", "Carina Christensen", "Carsten Hansen", 
"Charlotte Dyremose", "Christine Antorini", "Claus Hjort Frederiksen", 
"Colette L. Brix", "Connie Hedegaard", "Dennis Flydtkjær", "Edmund Joensen", 
"Eigil Andersen", "Ellen Trane Nørby", "Erling Bonnesen", "Eva Kjer Hansen", 
"Eyvind Vesselbo", "Flemming Bonne", "Flemming Damgaard Larsen", 
"Flemming Møller", "Flemming Møller Mortensen", "Frank Aaen", 
"Gitte Lillelund Bech", "Høgni Hoydal", "Hanne Agersnap", "Hans Christian Schmidt", 
"Hans Christian Thoning", "Hans Kristian Skibby", "Helge Adam Møller", 
"Helge Sander", "Helle Sjelle", "Helle Thorning-Schmidt", "Henriette Kjær", 
"Henrik Brodersen", "Henrik Dam Kristensen", "Henrik Høegh", 
"Henrik Sass Larsen", "Holger K. Nielsen", "Ib Poulsen", "Inger Støjberg", 
"Jørgen Poulsen", "Jørn Dohrmann", "Jacob Jensen", "Jakob Axel Nielsen", 
"Jens Christian Lund", "Jens Kirk", "Jens Peter Vernersen", "Jens Vibjerg", 
"Jeppe Kofod", "Jesper Langballe", "Jesper Petersen", "Johanne Schmidt-Nielsen", 
"John Dyrby Paulsen", "Johs. Poulsen", "Jonas Dahl", "Juliane Henningsen", 
"Julie Rademacher", "Kamal Qureshi", "Karen Ellemann", "Karen Hækkerup", 
"Karen J. Klint", "Karen Jespersen", "Karin Nødgaard", "Karina Lorentzen Dehnhardt", 
"Karl H. Bornhøft", "Karsten Lauritzen", "Karsten Nonbo", "Kim Andersen", 
"Kim Christiansen", "Kim Mortensen", "Kirsten Brosbøl", "Klaus Hækkerup", 
"Knud Kristensen", "Kristen Touborg", "Kristian Jensen", "Kristian Pihl Lorentzen", 
"Kristian Thulesen Dahl", "Lars-Emil Johansen", "Lars Barfoed", 
"Lars Christian Lilleholt", "Lars Løkke Rasmussen", "Leif Lahn Jensen", 
"Lene Espersen", "Lene Hansen", "Lennart Damsbo-Andersen", "Line Barfod", 
"Lise von Seelen", "Liselott Blixt", "Lone Dybkjær", "Lone Møller", 
"Louise Schack Elholm", "Magnus Heunicke", "Malou Aamund", "Margrethe Vestager", 
"Marianne Jelved", "Marion Pedersen", "Marlene Harpsøe", "Martin Henriksen", 
"Meta Fuglsang", "Mette Frederiksen", "Mette Gjerskov", "Michael Aastrup Jensen", 
"Mike Legarth", "Mikkel Dencker", "Mogens Jensen", "Mogens Lykketoft", 
"Morten Østergaard", "Morten Bødskov", "Morten Helveg Petersen", 
"Morten Messerschmidt", "Nanna Westerby", "Naser Khader", "Nick Hækkerup", 
"Niels Christian Nielsen", "Niels Helveg Petersen", "Niels Sindal", 
"Ole Hækkerup", "Ole Sohn", "Ole Vagn Christensen", "Per Ørum Jørgensen", 
"Per Bisgaard", "Per Clausen", "Per Husted", "Per Stig Møller", 
"Pernille Frahm", "Pernille Vigsø Bagge", "Peter Christensen", 
"Peter Juel Jensen", "Peter Skaarup", "Pia Adelsteen", "Pia Christmas-Møller", 
"Pia Kjærsgaard", "Pia Olsen Dyhr", "Poul Andersen", "Preben Rudiengaard", 
"Rasmus Prehn", "René Christensen", "René Skau Björnsson", 
"Søren Espersen", "Søren Gade", "Søren Krarup", "Søren Pind", 
"Simon Emil Ammitzbøll", "Sophie Hæstorp Andersen", "Sophie Løhde", 
"Steen Gade", "Svend Auken", "Thomas Adelskov", "Thomas Jensen", 
"Thor Pedersen", "Tina Nedergaard", "Tina Petersen", "Tom Behnke", 
"Torben Hansen", "Torsten Schack Pedersen", "Trine Mach", "Troels Christensen", 
"Troels Lund Poulsen", "Ulla Tørnæs", "Villum Christensen", 
"Villy Søvndal", "Vivi Kier", "Yildiz Akdogan"), class = "factor"), 
    V2 = structure(c(5L, 1L, 1L, 8L, 8L, 7L, 13L, 8L, 4L, 7L, 
    1L, 6L, 13L, 13L, 13L, 7L, 4L, 13L, 4L, 7L, 4L, 7L, 13L, 
    1L, 4L, 1L, 10L, 8L, 13L, 13L, 13L, 13L, 8L, 13L, 13L, 7L, 
    2L, 13L, 8L, 13L, 13L, 1L, 4L, 13L, 4L, 7L, 4L, 1L, 7L, 13L, 
    7L, 8L, 11L, 1L, 13L, 13L, 4L, 7L, 13L, 7L, 13L, 7L, 1L, 
    8L, 2L, 7L, 6L, 8L, 3L, 7L, 6L, 1L, 8L, 13L, 7L, 7L, 13L, 
    1L, 8L, 8L, 13L, 13L, 13L, 1L, 7L, 7L, 7L, 4L, 8L, 13L, 13L, 
    1L, 4L, 13L, 13L, 9L, 7L, 4L, 7L, 7L, 2L, 7L, 1L, 6L, 7L, 
    13L, 7L, 13L, 6L, 6L, 13L, 1L, 1L, 8L, 7L, 7L, 13L, 4L, 1L, 
    7L, 7L, 7L, 6L, 1L, 6L, 8L, 4L, 7L, 7L, 6L, 7L, 7L, 8L, 7L, 
    13L, 2L, 7L, 4L, 4L, 8L, 8L, 13L, 13L, 1L, 1L, 12L, 1L, 8L, 
    7L, 13L, 7L, 1L, 7L, 12L, 7L, 13L, 8L, 7L, 1L, 13L, 1L, 13L, 
    7L, 7L, 13L, 13L, 1L, 4L, 7L, 13L, 8L, 13L, 13L, 13L, 5L, 
    8L, 4L, 7L, 8L), .Label = c("DF", "EL", "IA", "KF", "LA", 
    "RV", "S", "SF", "SIU", "SP", "TF", "UFG", "V"), class = "factor"), 
    V3 = structure(c(3L, 3L, 3L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
    3L, 2L, 3L, 3L, 2L, 1L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 2L, 2L, 
    3L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 1L, 3L, 3L, 2L, 2L, 
    3L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 
    3L, 2L, 1L, 3L, 1L, 2L, 1L, 3L, 3L, 2L, 2L, 2L, 3L, 2L, 1L, 
    2L, 3L, 3L, 2L, 1L, 2L, 3L, 2L, 1L, 2L, 3L, 2L, 3L, 3L, 2L, 
    1L, 1L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 2L, 2L, 1L, 2L, 1L, 2L, 
    2L, 2L, 2L, 2L, 1L, 3L, 1L, 3L, 1L, 2L, 2L, 3L, 3L, 3L, 2L, 
    1L, 2L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 3L, 3L, 1L, 2L, 1L, 
    2L, 1L, 2L, 2L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 
    2L, 2L, 3L, 2L, 3L, 1L, 3L, 2L, 2L, 1L, 3L, 3L, 2L, 2L, 2L, 
    3L, 2L, 1L, 1L, 3L, 2L, 3L, 3L, 1L, 3L, 3L, 3L, 3L, 2L, 2L, 
    2L, 3L, 1L, 2L), .Label = c("For", "Fraværende", "Imod"), class = "factor")), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -179L)) 
+0

Xin chào Fellow Dane, bạn có thể cung cấp cho chúng tôi danh mục mà bản thân các tệp đó có không? –

Trả lời

10

đây là một phương pháp sử dụng hơi khác nhau plyr và định hình lại gói bởi hadley.

library(plyr); 
library(reshape); 

# function to read a single file 

readFile = function(i){ 

    .file = paste("Vote", i, ".csv", sep = ""); 
    .vote = read.csv(.file); 
    names(.vote) = c('name', 'party', 'vote'); 
    .vote$id = paste("Vote", i, sep = ""); 
    return(.vote); 
} 

nFiles = 200; 

# read all data files and store as data frame 
vote = ldply(1:nFiles, readFile); 

# reshape data to get to the required format 
vote2 = cast(vote, name + party ~ id, value = 'vote') 
3

Điều chỉnh read.csv để bất cứ loại file nó là bạn đang kéo vào. Ví dụ này giả định rằng các thuật ngữ của các tập tin sau:

Vote1.csv Vote2.csv ... Vote200.csv

n <- 200 ## Number of votes 
df <- read.csv(file=paste("Vote1.csv",sep="")) 
df.tmp <- data.frame() ## initialize 

for (x in 2:n) { 
df.tmp <- read.csv(file=paste("Vote",n,".csv",sep="")) 
df <- merge(df,df.tmp[c(1,3)], by="V1") 
} 

colnames(df)[3:n] <- paste("Vote",1:n,sep="") 
colnames(df)[1:2] <- c("Name","Party") 
+1

đối tượng đang phát triển: R Inferno giờ đây tính bạn trong vòng kết nối của nó – baptiste

+0

Tôi chắc chắn có thể chơi được. –

5

Đây là cách tôi xử lý nhiều lần nhập. Tôi hy vọng ví dụ của tôi phù hợp với nhu cầu của bạn. Những gì bạn làm là bạn đọc tất cả các tên tệp trong thư mục, nhập từng tệp dưới dạng phần tử danh sách và rbind toàn bộ danh sách vào một data.frame. Tôi cho rằng tệp của bạn bắt đầu bằng voting_results_*.

# Create a list of files 
import.files <- as.list(grep("voting_results_", list.files(), value = TRUE)) 

importResults <- function(x) { 
    read.table(x, header = TRUE) # customize this to meet your needs 
} 

# Using lapply on each list element, import all files into one list. 
voting.results <- lapply(import.files, FUN = importResults) 

# R bind all list elements into one big data.frame. 
voting.results <- do.call("rbind", voting.results) 

# Dance. 
3

Nếu bạn cho rằng Đảng luôn luôn là như nhau, sau đó chỉ cần trộn (hai lần) bởi Tên (== "V1" trong cấu trúc của bạn):

mergevotes <- merge(merge(Vote1, Vote2[, c(1,3)], by="V1"), Vote3[, c(1,3)], by="V1") 
names(mergevotes) <- c("Name", "Party", "Vote1", "Vote2", "Vote3") 

str (mergevotes) data.frame ': 176 obs. của 5 biến:
$ Tên: Yếu tố w/179 cấp độ "Ã – zlem Sara Cekic", ..: 1 2 3 4 7 8 5 6 9 10 ...
$ Party: Yếu tố w/13 cấp độ "DF "," EL "," IA ", ..: 8 5 1 1 8 8 7 13 8 7 ...
$ Vote1: Yếu tố w/3 cấp độ" Dành cho "," Fraværende ", ..: 2 1 1 1 3 3 2 1 3 3 ...
$ Vote2: Factor w/3 levels "For", "Fraværende", ..: 2 3 1 1 3 2 2 2 2 3 ...
$ Vote3: Yếu tố w/3 cấp độ "Dành cho", "Fraværende", ..: 2 3 3 3 2 2 1 2 2 1 ...
đầu (mergevotes)

    Name Party  Vote1  Vote2  Vote3 
1  Özlem Sara Cekic SF Fraværende Fraværende Fraværende 
2  Anders Samuelsen LA   For  Imod  Imod 
3  Anita Christensen DF   For   For  Imod 
4 Anita Knakkergaard DF   For   For  Imod 
5   Anne Baastrup SF  Imod  Imod Fraværende 
6 Anne Grete Holmsgaard SF  Imod Fraværende Fraværende 

Tôi muốn giao diện SO làm cho nó dễ dàng để xác định phông chữ không tỷ lệ thuận như Courier. Dường như đang ăn khoảng cách mà R cung cấp để xếp hàng đầu ra dạng bảng khi dán vào các phần văn bản.