[R-es] Achicar matriz de datos juntando varias variables en una
Marcuzzi, Javier Ruben
javier.ruben.marcuzzi en gmail.com
Lun Feb 25 15:41:49 CET 2013
Estimado Sebastian Kruk
Copio y pego aglunos códigos, es un "tutifruti", no sabría que es lo
óptimo, pero como supe usar algo de las dos respuestas de nuestros
compañeros de lista, comparto mi código R, en mi caso particular
soluciona el problema, pero no tiene porque ser la solución que usted
necesita.
El if, el ifelse como comenta Carlos son alternativas válidas, en una
oportunidad use lo siguiente
col <- function(x){
ifelse(x>7,
paste("\textcolor{blue}{", formatC(x, dig=2, format="f"),
"}"),
paste("\textcolor{red}{", formatC(x, dig=2, format="f"), "}"))
}
da$score.string <- col(da$score)
Aunque la alternativa de Jorge Velez es más parecida a lo que uso casi
siempre
alternativa de Jorge : t(apply(x, 1, function(row) which(row == 1)))
En el sentido de utilizar la comparación de R, como puede ser
(de otra parte de un código mio)
estacion[estacion ==0]<-'verano'
estacion[estacion ==1]<-'verano'
Otra posibilidad es utilizar el paquete sqldf con comparaciónes sql,
pero ignoro completamente que es mejor.
También desconozco si es entendible mi correo.
Javier Marcuzzi
On lun, 2013-02-25 at 15:14 +0100, Carlos Ortega wrote:
> Hola,
>
> Para estas cosas va muy bien la funcin "ifelse()".
> Mira un ejemplo de aplicacin 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 en 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.
> >
> > Cul seria la forma mas eficiente de hacerlo? Podra usar un IF para cada
> > una de ellas pero sera muy lento.
> >
> > Saludos,
> >
> > Sebastin
> >
> > [[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
> >
> >
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es