Ich arbeite an Umfragedaten mit 512 Variablen. Die Anzahl der Variablen ist hoch, da jeder Befragte die gleiche Frage für mehrere Marken beantwortet. So hat jede Variable, zum Beispiel "Präferenz" 20 Spalten, für jede Marke, die ein Befragter möglicherweise wissen könnte. Ich möchte eine zusätzliche Spalte, die Marke ist, und das habe ich noch nicht geschafft.Breites bis langes Format mit Tidyr
angewendet ich das tidyr Paket und das funktioniert sehr gut für den ersten Satz von Variablen:
TestSet100<-as.data.frame(TestSet100)
TestSet100$ID <- factor(TestSet100$ID)
Test_long<-reshape(TestSet100long, varying=c(unaided_b1:unaided_b20), direction="long", idvar= "ID", sep="_")
Das Ergebnis ist genau das, was ich brauche. Aber geht es falsch, sobald ich mit der nächsten beginnen:
TestSet100long3<-gather(TestSet100long, brand, aided_awareness, aided_b1:aided_b20, factor_key=T)
Denn dann fügt hinzu: Marke unaided_awareness, Marke aided_awareness, anstelle einer Spalte mit der variablen Marke, und zwei mit unaided_awareness und aided_awareness.
Aber mit dem dritten geht es völlig falsch, denn dann ist das Ergebnis ein Fehler.
TestSet100long4<-gather(TestSet100long3, brand, familiarity, fami_b1:fami_b20, factor_key=T)
Error: is_dictionaryish(x) is not TRUE
Können Sie ein [minimal reproduzierbares Beispiel] (https://stackoverflow.com/questions/5963269/how-to -make-a-great-r-reproduzierbar-Beispiel) Ihres Datasets? Es würde uns die Fehlerbehebung Ihres Codes erleichtern. –