Hola, Aunque llego un poco tarde....
- El nuevo paquete de Max Kuhn, "recipes" tiene un transformador justo para esto, simplemente tienes que indicar las columnas en las que aplicar. - Viñeta: https://cloud.r-project.org/web/packages/recipes/vignettes/Dummies.html - Y acaba de salir otro paquete para esto justamente (fastDummies): - Viñeta: https://cloud.r-project.org/web/packages/fastDummies/vignettes/making-dummy-variables.html Saludos, Carlos Ortega www.qualityexcellence.es El 25 de junio de 2018, 19:36, Marcelino de la Cruz Rot < marcelino.delac...@urjc.es> escribió: > # Hola > # Si te he entendido bien, lo que quieres hacer es lo mismo que hace R > # cuando genera la model.matrix de un modelo lineal, > # así que suponiendo que tienes esta data.frame: > > > df <-data.frame(a = c(1,2,3), b = c(1,1,2), c = > c("Rose","Pink","Red"), d = c("a","b","c"), e=c("red","blue", "green")) > > df > > # y sabiendo el nombre de las variables de tipo factor > # que quieres "binarizar", podrías hacer simplemente > > variables<-c("c", "d", "e") > > df2<-NULL > for(i in variables){ > mm<- model.matrix(lm((1:dim(df)[1])~get(i)-1, data=df)) > dimnames(mm)[[2]] <- levels(df[,i]) > df2<-cbind(df2,mm)} > > df2 > > # Saludos > # Marcelino > > > > El 25/06/2018 a las 18:37, Jesús Para Fernández escribió: > >> Por cierto data.table tiene implementadas las funciones de reshape2 melt >> y dcast pero mucho m�s r�pidasen ejecuci�n >> >> Obtener Outlook para Android<https://aka.ms/ghei36> >> >> ________________________________ >> From: R-help-es <r-help-es-boun...@r-project.org> on behalf of V�ctor >> Granda Garc�a <victorgrandagar...@gmail.com> >> Sent: Monday, June 25, 2018 4:23:52 PM >> To: Fernando Reche Lorite >> Cc: r-help-es >> Subject: Re: [R-es] Transformar muchas variables factor en variables >> binarias de acuerdo a niveles >> >> En esta respuesta: https://stackoverflow.com/a/35663834/2301674 >> >> tienes como hacerlo (mucho m�s sencillo que en la que enlazas t�) con >> reshape2 o si prefieres la versi�n "tidy" con dplyr y tidyr (la que yo >> recomiendo, pero solo porque me gusta m�s). >> >> Espero que te sirva >> >> On Mon, 25 Jun 2018 at 16:08 Fernando Reche Lorite via R-help-es < >> r-help-es@r-project.org> wrote: >> >> Puedes probar con la funci�n dummy del paquete dummies. >>> >>> Un saludo >>> Fernando Reche Lorite >>> Departamento de Matem�ticas >>> Universidad de Almer�a >>> >>> El 25 de junio de 2018, 15:55, Carlos J. Gil Bellosta < >>> c...@datanalytics.com> >>> escribi�: >>> >>> �No te vale model.matrix? >>>> >>>> El lun., 25 jun. 2018 a las 15:49, Juan Abasolo (<juan.abas...@ehu.eus >>>> >) >>>> escribi�: >>>> >>>> Buenas, compa�eros. >>>>> >>>>> Tengo una base de datos con bastantes variables todas medidas como >>>>> >>>> factor, >>>> >>>>> quiero que todos los factores pasen a ser variables binarias en funci�n >>>>> >>>> de >>>> >>>>> sus valores. >>>>> >>>>> En este ejemplo de Stackoverflow muestran como hacerlo con una >>>>> >>>> variable: >>> >>>> https://stackoverflow.com/questions/33990760/converting- >>>>> >>>> factors-to-binary-in-r >>>> >>>>> df <-data.frame(a = c(1,2,3), b = c(1,1,2), c = >>>>> c("Rose","Pink","Red"), d = c(2,3,4)) >>>>> >>>>> cbind(df[1:2], sapply(levels(df$c), function(x) as.integer(x == df$c)), >>>>> df[4]) >>>>> >>>>> o as� >>>>> >>>>> library(data.table) >>>>> setDT(df)[, c(levels(df$c), "c") := >>>>> c(lapply(levels(c), function(x) as.integer(x == c)), .(NULL))] >>>>> >>>>> >>>>> Pero no me resuelve el tener que hacerlo algunos cientos de veces, que >>>>> >>>> es >>> >>>> lo que querr�a evitar. S� que es evidente c�mo se tiene que hacer, pero >>>>> >>>> soy >>>> >>>>> ciego a esa evidencia :-( >>>>> >>>>> Muchas gracias por la ayuda >>>>> >>>>> >>>>> -- >>>>> Juan Abasolo >>>>> >>>>> Hizkuntzaren eta Literaturaren Didaktika Saila >>>>> Bilboko Hezkuntza Fakultatea >>>>> Euskal Herriko Unibertsitatea >>>>> UPV/EHU >>>>> >>>>> Sarriena auzoa z/g >>>>> 48940 Leioa >>>>> Bizkaia >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> _______________________________________________ >>>>> R-help-es mailing list >>>>> R-help-es@r-project.org >>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>>> >>>>> [[alternative HTML version deleted]] >>>> >>>> _______________________________________________ >>>> R-help-es mailing list >>>> R-help-es@r-project.org >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>> >>>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> -- >> *V�ctor Granda Garc�a* >> Data Technician >> >> >> v.gra...@creaf.uab.cat >> Tel. +34 93 581 33 53 >> >> >> Campus UAB. Edifici C. 08193 Bellaterra (Barcelona) | *www.creaf.cat* >> <http://www.creaf.uab.es/cat/index.htm> >> >> Abans d'imprimir aquest missatge electr�nic penseu en el medi ambient. >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> [[alternative HTML version deleted]] >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > -- > Marcelino de la Cruz Rot > Depto. de Biología y Geología > Física y Química Inorgánica > Universidad Rey Juan Carlos > Móstoles España > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es