Sebastian Kruk
2013-Feb-25 14:06 UTC
[R-es] Achicar matriz de datos juntando varias variables en una
Estimados usuarios de R: Tengo una matriz de datos que la quiero achicar. Por ejemplo las primeras cuatro preguntas pueden tomar el valor "Sí" o "No". Entonces quiero crear una nueva variable que toma el valor 1 si se respondió si a la primera pregunta, 2, si fue Si a la segunda y así sucesivamente. Esto sucede con varias variables. ¿Cuál seria la forma mas eficiente de hacerlo? Podría usar un IF para cada una de ellas pero sería muy lento. Saludos, Sebastián [[alternative HTML version deleted]]
Carlos Ortega
2013-Feb-25 14:14 UTC
[R-es] Achicar matriz de datos juntando varias variables en una
Hola, Para estas cosas va muy bien la función "ifelse()". Mira un ejemplo de aplicación aquí: http://econometricsense.blogspot.com.es/2013/02/why-does-ifelse-logic-work-differently.html Saludos, Carlos Ortega www.qualityexcellence.es El 25 de febrero de 2013 15:06, Sebastian Kruk <residuo.solow@gmail.com>escribió:> Estimados usuarios de R: > > Tengo una matriz de datos que la quiero achicar. Por ejemplo las primeras > cuatro preguntas pueden tomar el valor "Sí" o "No". Entonces quiero crear > una nueva variable que toma el valor 1 si se respondió si a la primera > pregunta, 2, si fue Si a la segunda y así sucesivamente. Esto sucede con > varias variables. > > ¿Cuál seria la forma mas eficiente de hacerlo? Podría usar un IF para cada > una de ellas pero sería muy lento. > > Saludos, > > Sebastián > > [[alternative HTML version deleted]] > > > _______________________________________________ > 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]]
Jorge I Velez
2013-Feb-25 14:18 UTC
[R-es] Achicar matriz de datos juntando varias variables en una
Sebastian, Usando apply() podrias hacer lo siguiente: t(apply(x, 1, function(row) which(x == 1))) Saludos, Jorge.- 2013/2/26 Sebastian Kruk <residuo.solow@gmail.com>> Estimados usuarios de R: > > Tengo una matriz de datos que la quiero achicar. Por ejemplo las primeras > cuatro preguntas pueden tomar el valor "Sí" o "No". Entonces quiero crear > una nueva variable que toma el valor 1 si se respondió si a la primera > pregunta, 2, si fue Si a la segunda y así sucesivamente. Esto sucede con > varias variables. > > ¿Cuál seria la forma mas eficiente de hacerlo? Podría usar un IF para cada > una de ellas pero sería muy lento. > > Saludos, > > Sebastián > > [[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]]
Jorge I Velez
2013-Feb-25 14:19 UTC
[R-es] Achicar matriz de datos juntando varias variables en una
Perdon, la linea deberia ser t(apply(x, 1, function(row) which(row == 1))) --JIV 2013/2/26 Jorge I Velez <jorgeivanvelez@gmail.com>> Sebastian, > > Usando apply() podrias hacer lo siguiente: > > t(apply(x, 1, function(row) which(x == 1))) > > Saludos, > Jorge.- > > > 2013/2/26 Sebastian Kruk <residuo.solow@gmail.com> > >> Estimados usuarios de R: >> >> Tengo una matriz de datos que la quiero achicar. Por ejemplo las primeras >> cuatro preguntas pueden tomar el valor "Sí" o "No". Entonces quiero crear >> una nueva variable que toma el valor 1 si se respondió si a la primera >> pregunta, 2, si fue Si a la segunda y así sucesivamente. Esto sucede con >> varias variables. >> >> ¿Cuál seria la forma mas eficiente de hacerlo? Podría usar un IF para cada >> una de ellas pero sería muy lento. >> >> Saludos, >> >> Sebastián >> >> [[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]]