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