Devo creare un nuovo frame di dati nDF che binarizza tutte le variabili categoriali e allo stesso tempo conserva tutte le altre variabili in un frame di dati DF. Ad esempio, ho le seguenti variabili di caratteristiche: RACE (4 tipi) e AGE e una variabile di uscita chiamata CLASS.Codifica One-Hot in [R] | Variabili categoriali a variabili fittizie
DF =
RACE AGE (BELOW 21) CLASS Case 1 HISPANIC 0 A Case 2 ASIAN 1 A Case 3 HISPANIC 1 D Case 4 CAUCASIAN 1 B
voglio convertire questo in NDF con cinque (5) variabili o quattro (4) anche:
RACE.1 RACE.2 RACE.3 AGE (BELOW 21) CLASS Case 1 0 0 0 0 A Case 2 0 0 1 1 A Case 3 0 0 0 1 D Case 4 0 1 0 1 B
mi è familiare con il contrasto trattamento alla variabile DF $ RACE. Tuttavia, se a implementare
contrasts(DF$RACE) = contr.treatment(4)
quello che ottengo è ancora un DF di tre variabili, ma con variabili DF $ RACE avere l'attributo "contrasti".
Quello che in definitiva voglio se è una nuova cornice dati NDF come illustrato in precedenza, ma che può essere molto noioso per valutare se uno ha circa 50 variabili includono, con più di cinque (5) dei quali sono variabili categoriali.
Se si è aperti a usare [data.table] (https://github.com/Rdatatable/data.table), puoi usare il metodo one_hot() da [mltools] (https://github.com/ben519/mltools). – Ben