Avendo un problema con la modalità di codice fittizio del seguente set di dati.Trasmissione di funzioni univoche nei nomi di variabile e codifica fittizia nelle caratteristiche originali in variabili in R
dati esempio, poniamo dataframe = mydata:
ID | NAMES |
-- | -------------- |
1 | 4444, 333, 456 |
2 | 333 |
3 | 456, 765 |
mi piacerebbe lanciare solo le variabili uniche in nomi come variabili di colonna e codice se ogni riga è quella variabile o meno ie 1 o 0
output desiderato:
ID | NAMES | 4444 | 333 | 456 | 765 |
-- | -------------- |------|-----|-----|-----|
1 | 4444, 333, 456 | 1 | 1 | 1 | 0 |
2 | 333 | 0 | 1 | 0 | 0 |
3 | 456, 765 | 0 | 0 | 1 | 1 |
quello che ho fatto fino ad ora è stato creato un vettore di unico
split <- str_split(string = mydata$NAMES,pattern = ",")
vec <- unique(str_trim(unlist(split)))
remove <- ""
vec <- as.data.frame(vec[! vec %in% remove])
colnames(vec) <- "var"
vecRef <- as.vector(vec$var)
namesCast <- dcast(data = vec,formula = .~var)
namesCast <- nameCast[,2:ncol(namesCast)]
Questo produce un vettore di NAMES univoci con spazi/irregolarità rimossi. Da lì non ho idea di come fare la codifica matching/dummy, quindi qualsiasi aiuto sarebbe molto apprezzato!
Ha sapevo che qualcuno avrebbe solo rimonta con una riga di codice che soffia la mia mente. Grazie funziona benissimo! – moku