Ich möchte die Spread-Funktion tidyr
verwenden, um einen Datenrahmen mit mehreren IDs in den Zeilen und mehreren Spalten in ein df mit einer Zeile zu konvertieren, wo wir Indikatorspalten für alle Kombinationen haben von IDs und Kategorien. Wenn dplyr
und tidyr
nicht die geeignetste Option ist, öffnen Sie andere Spread-ähnliche Funktionen.Zeilen in Spalten mit mehreren Kategorien transponieren dplyr
Im folgenden Skript kann ich nur 1 Spalte als das Wertpaar angeben. Ich möchte cat1 und cat2 als Wertspalten haben. Auch ich würde die Feldnamen wie zu sein "sentid1_cat1, sentid1_cat2" usw.
test.df <- data.frame(sentid = 1:3,
cat1 = c(1,0,0),
cat2 = c(0,1,0))
test.df %>%
spread(key = sentid, value = cat1, sep = '_')
EDIT
gewünschte Ausgabe:
output.df <- data.frame(sentid1_cat1 = 1,
sentid1_cat2 = 0,
sentid2_cat1 = 0,
sentid2_cat2 = 1,
sentid3_cat1 = 0,
sentid3_cat2 = 0)
Ich bin ein wenig unsicher, was Sie fordern. Macht es Ihnen etwas aus, eine Ausgabe df einzutragen, wie das gewünschte Ergebnis aussehen würde? –
Vielleicht [dieser Beitrag] (https://stackoverflow.com/questions/30592094/r-spreading-multiple-columns-with-tidyr) wird hilfreich sein. Es wäre hilfreich, wenn Sie Ihre gewünschte Ausgabe zeigen. – lmo
Löst meine Antwort Ihr Problem? – useR