Si je dispose d'un ensemble de données similaire au suivant :
# State Ben.Carson.Number.of.Votes Ben.Carson.Party Ben.Carson.Percent Bernie.Sanders.Votes Bernie Sanders.Percent Bernie.Sanders.Party
# OH 305. Republican 8.3 500 12.30 Democrat
# FL 20 Republican 3.0 700 11.00. Democrat
# TX 400. Republican 5.0 50 1.00 Democrat
Comment créer quatre colonnes unifiées, Nom du candidat, Votes, Pourcentage et Parti, à partir de toutes les colonnes séparées qui se trouvent actuellement dans l'ensemble de données ? C'est-à-dire rassembler les trois types de colonnes sur la base du nom du candidat figurant dans le nom de la colonne.
J'ai essayé ce qui suit, mais en vain :
tidyElectionData %>%
gather(key, value, -c(County, Location.State, State)) %>%
separate(key, into = c("Candidate", "Party"), sep = "(^[^.]+[.][^.]+)(.+$)") %>%
spread(Party, value)