R: expandir un factor R en columnas ficticias para cada nivel de factor
Tengo un marco de datos bastante grande en R con dos columnas. Estoy tratando de hacer deCode
columna (factor
escriba con 858 niveles) las variables ficticias. El problema es que R Studio siempre se bloquea cuando intento hacer eso.
> str(d)
'data.frame': 649226 obs. of 2 variables:
$ User: int 210 210 210 210 269 317 317 317 317 326 ...
$ Code : Factor w/ 858 levels "AA02","AA03",..: 164 494 538 626 464 496 435 464 475 163 ...
losUser
la columna no es única, lo que significa que puede haber varias filas con el mismoUser
. No importa si al final la cantidad de filas sigue siendo la misma o las filas con la mismaUser
se fusionan en una fila que tiene varias columnas no vacías con el recuento deCode
s.
Encontré un par de soluciones que funcionan para un conjunto de datos más pequeño, pero no para el mío.
Intenté usarmodel.matrix
, pero el R Studio simplemente falla
m <- model.matrix( ~ Code, data = d)
Encontrado aquíExpandir automáticamente un factor R en una colección de variables indicadoras 1/0 para cada nivel de factor
Intentófor
ciclo conifelse
, pero el código se ejecutó durante 4 horas y luego noté que el R Studio se bloqueó.
for (t in unique(d$Code)) {
d[paste("Code", t, sep = "")] <- ifelse(d$Code == t, 1, 0)
}
Encontrado aquíCrear nuevas columnas de variables ficticias a partir de variables categóricas
Sería genial si me puede recomendar algún método que sea rápido y que funcione para ese tipo de datos.
¡Gracias!