Re: [R-es] Como reordenar datos para analisis multiples correspondencias (MCA)

2019-05-14 Por tema Jorge Senán Salinas
Buenos dias,

Espero que esto te pueda ayudar. Por lo que entiendo quieres llegar a una seríe 
de columnas boleanas de ausencia/presencia de determinada alergia o idioma. 

library(tidyverse)

ind<- c("individuo1", "individuo2", "individuo3")
idioma<-c( "en,es", "es,en", "es,fr,en")
alergia<-c(0, "huevo", "pescado,huevo")
color<- c("amarillo", "limon", "salmon")

dbs<-data.frame(ind, idioma, alergia, color)

dbs%>%gather(caracteristica, valor, 2:4)%>%
  separate(valor, c("v1", "v2", "v3"))%>%
  gather(v, valor, 3:5)%>%
  filter(!is.na(valor))%>%
  mutate(categoria_bin=paste(caracteristica, ":", valor))%>%
  select(ind, categoria_bin)%>%
  mutate(value = 1)%>%
  spread(categoria_bin, value, fill= 0)

Saludos

Jorge



Jorge Senán Salinas
Análisis de Ciclo de Vida y Sostenibilidad
Grupo de Tecnología de Membranas
IMDEA-Agua



-Mensaje original-
De: R-help-es [mailto:r-help-es-boun...@r-project.org] En nombre de Juan Abasolo
Enviado el: martes, 14 de mayo de 2019 10:19
Para: José Antonio Palazón Ferrando 
CC: R-help-es 
Asunto: Re: [R-es] Como reordenar datos para analisis multiples 
correspondencias (MCA)

Mil gracias, José Antonio!
Creo que, entre tu recomendación y el apelo al ingenio de Javier, voy a 
terminar generando la tabla que necesito.

Mi problema, al contrario de lo que entiendo que les pasa a los que necesitan 
condensar, es que necesito extender... mi ya extensa data.frame.
Pero poder pensar en el problema de otros me ayuda a entender el mío.

Hau idatzi du José Antonio Palazón Ferrando (pala...@um.es) erabiltzaileak
(2019 mai. 14, ar. (09:03)):

> Hola:
>
> Quizá esto pueda ser de utilidad:
> Se trata de prepara una “tabla” que tenga tantas columnas como 
> modalidades hay en el total de los individuos.
> Cada columna toma el nombre de la modalidad y hacemos que cada 
> individuo tome el valor 1 en las modalidades correspondientes.
>
> En este texto <http://ares.inf.um.es/mmcl/formatoCondensado.html> se 
> explica y proporciona el procedimiento para hacerlo con listas de 
> especies o caracteres, es muy fácil adaptarlo a tus necesidades.
>
> Seguimos
>
>
>
> El 14/5/19 a las 0:04, Juan Abasolo escribió:
> > Gracias, Javier;
> > Anduve buscando entre tus dos propuestas para mi encarables (plyr y
> > reshape2) y presupongo que el problema es eso del ingenio que 
> > comentás,
> que
> > hay que tener y no tengo.
> >
> > Los paquetes me vinieron igualmente re-bien, porque me di cuenta que 
> > no tengo por qué sufrir haciéndolo a mano cada vez que encaro 
> > algunas de
> esas
> > situaciones.
> >
> > Pero lo de ordenar los datos para el MCA... el ingenio estara en 
> > alguna inlampara de casa, porque a mí no se me enciende la bombilla. 
> > Parece prudente, a falta de más, idea purgar las respuestas dobles 
> > según algún criterio, que siempre es deformar la realidad un poquito más.
> >
> >
> >
> > Hau idatzi du Javier Marcuzzi (javier.ruben.marcu...@gmail.com) 
> > erabiltzaileak (2019 mai. 13, al. (14:47)):
> >
> >> Estimado Juan Abasolo
> >>
> >> Para esas actividades se necesita algo de ingenio, no hay una sola 
> >> solución, para esto existen librerías como plyr, reshape2, entre 
> >> otras,
> o
> >> simplemente a mano, en lo personal mis primeros pasos para ordenar 
> >> fue sqldf porque conocía sql más que R, sin embargo hoy las 
> >> alternativas al respecto son muy amplias.
> >>
> >> Yo pienso en como debo colocar los datos en el modelo, luego en 
> >> como
> tengo
> >> los datos originales, y finalmente busco la forma de acomodarlos. 
> >> En
> este
> >> paso posiblemente es donde R tiene la mayor cantidad de 
> >> alternativas e insumo de tiempo razonando puesto que tiene algo de 
> >> "artesanal en R".
> >>
> >> Javier Rubén Marcuzzi
> >>
> >> El dom., 12 may. 2019 a las 18:53, Juan Abasolo 
> >> ( >)
> >> escribió:
> >>
> >>> Necesito luz para ordenar unos datos... en realidad, para ordenar
> muchos
> >>> muchoas veces. El problema hoy:
> >>>
> >>> Tengo una base de datos que incluye respuestas dobles en algunas
> variables
> >>> en algunos individuos, tabla didáctica:
> >>>
> >>>  idioma   alergia  color
> >>> individuo1  en,es 0   amarillo
> >>> individuo2  es,en huevo   limon
> >>> individuo3  es,f

Re: [R-es] Ordenar eje en ggplot

2019-02-08 Por tema Jorge Senán Salinas
Hola Jesús,

Creo que para tu caso concreto la variable que define el mes, debería de tener 
clase temporal. No conozco si periodo o fecha...depende de tu análisis. El 
paquete lubridate puede ayudarte a pasar de clase "character"  a algún tipo de 
clase temporal. A partir de ese paso, una vez definida tu variable como 
temporal,  tus datos temporales serán reconocidos y ordenados por ggplot. 

Te recomiendo que trabajes con clases temporales con lubridate.
Aun así, para salir del paso, tendrías dos opciones más: i) podrías definir la 
variable como factor y definir los niveles (de enero a diciembre); y ii) usar 
+scale_x_discrete (limits= c("enero",..., "diciembre"))

Los enlaces adjuntos describen las opciones que te comentaba con el código en 
detalle para casos similares.
https://stackoverflow.com/questions/29974535/dates-with-month-and-day-in-time-series-plot-in-ggplot2-with-facet-for-years
https://stackoverflow.com/questions/3253641/change-the-order-of-a-discrete-x-scale

Cuesta un poquito aprender lubridate pero avanzarás más rápido  y más limpio si 
transformas a clases temporales. 

Espero haberte aclarado algo. 

Jorge Senán





-Mensaje original-
De: R-help-es [mailto:r-help-es-boun...@r-project.org] En nombre de 
xyg...@gmail.com
Enviado el: viernes, 8 de febrero de 2019 14:40
Para: r-help-es@r-project.org
Asunto: [R-es] Ordenar eje en ggplot

Buenas tardes, supongo que será muy sencillo, pero estoy empezando en r y no 
acabo de dar con la tecla. Estoy intentando hacer un gráfico de líneas con 
ggplot pero el eje x me sale con los meses ordenados alfabéticamente (abril, 
agosto, diciembre…) en vez de su orden natural (enero, febrero, marzo….). 
Agradezco cualquier pista.
Un saludo
Jesús
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es