# 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