Juan Abasolo
2019-Nov-16 18:55 UTC
[R-es] Calcular variable dummy sobre configuracion de dos variables tipo factor. Dummy yo.
Hola, compañeros. Pido ayuda con algo que sé que tiene que ser simple, pero la presión de tener que sacarmelo de encima me simplifica a mí demasiado y no me doy cuenta. Tengo una matriz de datos en la que tengo características tipo factor, necesito trasponer esa información a una matriz de datos binarios, en función de algunas combinaciones de esas variables. Unas combinaciones tienen que pasar a ser los sujetos (son sujetos, de hecho) y las otras combinaciones tienen que pasar a ser las variables dicotomicas. Para intentar ejemplificarlo, propongo una matriz original como esta: caracteristica valor sitio edad 123456789 tiza acá joven 123456789 blanco acá viejo 123456789 blanco allá joven 123456789 blanco allá viejo 234567891 rojo acá joven 234567891 colorado acá viejo 234567891 azul allá joven 234567891 azul allá viejo 234567891 azul acá viejo 345678912 teja acá joven 345678912 rojo acá viejo 345678912 rojo alla joven 345678912 blanco alla viejo ...en la que la variable característica puede tomar uno o más valores en cada sujeto (sitio+edad). Lo que necesito es la tabla dicotómica de las combinaciones característica+valor según los sujetos, algó así como lo siguiente: 123456789 tiza 123456789 blanco 234567891 rojo 234567891 colorado 234567891 azul acá joven 1 0 1 0 0 acá viejo 0 1 0 1 1 allá joven 0 1 0 0 1 allá viejo 0 1 0 0 1 Disculpen que moleste con semejante tontería, pero no me da la cabeza y necesito pasar a la siguiente página. Muchas gracias, desde ya Juan -- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T: (+34) 94 601 7567 Telegram: @JuanAbasolo Skype: abasolo72 Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> [[alternative HTML version deleted]]
JCMld
2019-Nov-16 21:08 UTC
[R-es] Calcular variable dummy sobre configuracion de dos variables tipo factor. Dummy yo.
Hola tocayo, A ver si es esto lo que buscas: library(reshape2) a<-read.table(text="caracteristica valor sitio edad 123456789 tiza acá joven 123456789 blanco acá viejo 123456789 blanco allá joven 123456789 blanco allá viejo 234567891 rojo acá joven 234567891 colorado acá viejo 234567891 azul allá joven 234567891 azul allá viejo 234567891 azul acá viejo 345678912 teja acá joven 345678912 rojo acá viejo 345678912 rojo allá joven 345678912 blanco allá viejo",header=T) a$value<-1 b<-dcast(a,sitio+edad~caracteristica+valor,value.var="value") b[is.na(b)]<-0> bsitio edad 123456789_blanco 123456789_tiza 234567891_azul 234567891_colorado 234567891_rojo 345678912_blanco 345678912_rojo 345678912_teja 1 acá joven 0 1 0 0 1 0 0 1 2 acá viejo 1 0 1 1 0 0 1 0 3 allá joven 1 0 1 0 0 0 1 0 4 allá viejo 1 0 1 0 0 1 0 0 Saludos, Juan Carmona -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Juan Abasolo Enviado el: sábado, 16 de noviembre de 2019 19:56 Para: R-help-es Asunto: [R-es] Calcular variable dummy sobre configuracion de dos variables tipo factor. Dummy yo. Hola, compañeros. Pido ayuda con algo que sé que tiene que ser simple, pero la presión de tener que sacarmelo de encima me simplifica a mí demasiado y no me doy cuenta. Tengo una matriz de datos en la que tengo características tipo factor, necesito trasponer esa información a una matriz de datos binarios, en función de algunas combinaciones de esas variables. Unas combinaciones tienen que pasar a ser los sujetos (son sujetos, de hecho) y las otras combinaciones tienen que pasar a ser las variables dicotomicas. Para intentar ejemplificarlo, propongo una matriz original como esta: caracteristica valor sitio edad 123456789 tiza acá joven 123456789 blanco acá viejo 123456789 blanco allá joven 123456789 blanco allá viejo 234567891 rojo acá joven 234567891 colorado acá viejo 234567891 azul allá joven 234567891 azul allá viejo 234567891 azul acá viejo 345678912 teja acá joven 345678912 rojo acá viejo 345678912 rojo alla joven 345678912 blanco alla viejo ...en la que la variable característica puede tomar uno o más valores en cada sujeto (sitio+edad). Lo que necesito es la tabla dicotómica de las combinaciones característica+valor según los sujetos, algó así como lo siguiente: 123456789 tiza 123456789 blanco 234567891 rojo 234567891 colorado 234567891 azul acá joven 1 0 1 0 0 acá viejo 0 1 0 1 1 allá joven 0 1 0 0 1 allá viejo 0 1 0 0 1 Disculpen que moleste con semejante tontería, pero no me da la cabeza y necesito pasar a la siguiente página. Muchas gracias, desde ya Juan -- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T: (+34) 94 601 7567 Telegram: @JuanAbasolo Skype: abasolo72 Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Juan Abasolo
2019-Nov-16 23:08 UTC
[R-es] Calcular variable dummy sobre configuracion de dos variables tipo factor. Dummy yo.
Muchas gracias, tocayo! No te das una idea qué vueltas sufridas estaba dando! Me venía peleando con la migraña y los datos. Gracias a tu ayuda puedo irme a descansar con la tarea terminada. Que tengás buen fin de semana. Juan Hau idatzi du JCMld (jcmld en carmonarocha.com) erabiltzaileak (2019 aza. 16, lr. (22:26)):> Hola tocayo, > > A ver si es esto lo que buscas: > > > library(reshape2) > > a<-read.table(text="caracteristica valor sitio edad > 123456789 tiza acá joven > 123456789 blanco acá viejo > 123456789 blanco allá joven > 123456789 blanco allá viejo > 234567891 rojo acá joven > 234567891 colorado acá viejo > 234567891 azul allá joven > 234567891 azul allá viejo > 234567891 azul acá viejo > 345678912 teja acá joven > 345678912 rojo acá viejo > 345678912 rojo allá joven > 345678912 blanco allá viejo",header=T) > > a$value<-1 > > b<-dcast(a,sitio+edad~caracteristica+valor,value.var="value") > b[is.na(b)]<-0 > > > b > sitio edad 123456789_blanco 123456789_tiza 234567891_azul > 234567891_colorado 234567891_rojo 345678912_blanco 345678912_rojo > 345678912_teja > 1 acá joven 0 1 0 > 0 1 0 0 1 > 2 acá viejo 1 0 1 > 1 0 0 1 0 > 3 allá joven 1 0 1 > 0 0 0 1 0 > 4 allá viejo 1 0 1 > 0 0 1 0 0 > > Saludos, > Juan Carmona > > -----Mensaje original----- > De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Juan > Abasolo > Enviado el: sábado, 16 de noviembre de 2019 19:56 > Para: R-help-es > Asunto: [R-es] Calcular variable dummy sobre configuracion de dos variables > tipo factor. Dummy yo. > > Hola, compañeros. > Pido ayuda con algo que sé que tiene que ser simple, pero la presión de > tener que sacarmelo de encima me simplifica a mí demasiado y no me doy > cuenta. > > Tengo una matriz de datos en la que tengo características tipo factor, > necesito trasponer esa información a una matriz de datos binarios, en > función de algunas combinaciones de esas variables. Unas combinaciones > tienen que pasar a ser los sujetos (son sujetos, de hecho) y las otras > combinaciones tienen que pasar a ser las variables dicotomicas. Para > intentar ejemplificarlo, propongo una matriz original como esta: > caracteristica valor sitio edad > 123456789 tiza acá joven > 123456789 blanco acá viejo > 123456789 blanco allá joven > 123456789 blanco allá viejo > 234567891 rojo acá joven > 234567891 colorado acá viejo > 234567891 azul allá joven > 234567891 azul allá viejo > 234567891 azul acá viejo > 345678912 teja acá joven > 345678912 rojo acá viejo > 345678912 rojo alla joven > 345678912 blanco alla viejo > > ...en la que la variable característica puede tomar uno o más valores en > cada sujeto (sitio+edad). > > Lo que necesito es la tabla dicotómica de las combinaciones > característica+valor según los sujetos, algó así como lo siguiente: > 123456789 tiza 123456789 blanco 234567891 rojo 234567891 colorado > 234567891 azul > acá joven 1 0 1 0 0 > acá viejo 0 1 0 1 1 > allá joven 0 1 0 0 1 > allá viejo 0 1 0 0 1 > Disculpen que moleste con semejante tontería, pero no me da la cabeza y > necesito pasar a la siguiente página. > > Muchas gracias, desde ya > > Juan > > -- > Juan Abasolo > > Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea > Bilboko Hezkuntza Fakultatea > Euskal Herriko Unibertsitatea > UPV/EHU > > Sarriena auzoa z/g 48940 - Leioa (Bizkaia) > > T: (+34) 94 601 7567 > Telegram: @JuanAbasolo > Skype: abasolo72 > > Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T: (+34) 94 601 7567 Telegram: @JuanAbasolo Skype: abasolo72 Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> [[alternative HTML version deleted]]