[R-es] Respuestas múltiples en una sola columna

Marcelino de la Cruz Rot m@rce||no@de|@cruz @end|ng |rom urjc@e@
Jue Oct 7 08:29:56 CEST 2021


Hola:
Otra posibilidad sería la que aparece a continuación.
Saludos,
Marcelino

library(readxl)
library(reshape2)
datin <- read_excel("Ejes formativos.xlsx")
datin_long <- melt(datin, id.vars=c("ID", "area_pertenencia"))[,c("ID", 
"value", "area_pertenencia")]
names(datin_long) <- c("ID", "ejes", "area")
datin_long <- datin_long[!is.na(datin_long$ejes),]





El 07/10/2021 a las 4:40, juan manuel dias escribió:
> Muchas gracias a ambos!
>
> El mié., 6 de octubre de 2021 15:52, Carlos Ortega <cof using qualityexcellence.es>
> escribió:
>
>> Hola,
>>
>> Sí, otra alternativa para dejarlo como has comentado y leyendo
>> directamente de Excel...
>>
>> #---------------
>>
>> library(dplyr)
>> library(tidyr)
>> library(readr)
>> library(readxl)
>>
>> datin <- read_excel("Ejes formativos.xlsx")
>>
>> datin_long <- datin %>%
>>    pivot_longer(
>>      cols = starts_with("eje"),
>>      values_to = "ejes"
>>    ) %>%
>>    rename( area = area_pertenencia) %>%
>>    select(-name) %>%
>>    relocate(ejes, .before = area)
>>
>> #---------------
>>
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>> El mié, 6 oct 2021 a las 20:17, juan manuel dias (<juamadias using gmail.com>)
>> escribió:
>>
>>> Hola, cómo andan!
>>>
>>> Tengo una base de una encuesta sobre formación profesional realizada a un
>>> conjunto de empleados de una institución.
>>>
>>> Una de las preguntas es de respuesta múltiple, eje_tem_1,eje_tem_2,
>>> eje_tem_3....hasta eje_tem_17.
>>>
>>> Necesitaría que las respuestas de cada persona que están en esas
>>> distintas columnas (eje_tem a eje_tem_17) queden en una misma columna, y
>>> asimismo que se repita el "ID" y el "area_pertenencia" tantas veces como
>>> opciones haya marcado cada caso/persona/"ID".
>>>
>>> Estuve intentando con pivot_longer pero sin resultados!
>>>
>>> Actualmente está así
>>>
>>> *id  | eje_tem_1  | eje_tem_2 | eje_tem_3  | eje_tem_4    area*
>>> 1     rh                  sist               comun            filos
>>>         admin
>>> 2     rh                  arte
>>>               medic
>>> 3     sist                matem         empre             comun
>>>   asist
>>> 4     arte               matem         empre              sist
>>>    asist
>>>
>>> Y necesitaría que quede así:
>>>
>>> *id  |  ejes    |  area*
>>> 1     rh           admin
>>> 1     sist         admin
>>> 1     comun    admin
>>> 1     filos        admin
>>> 1     admin     admin
>>> 2      rh           medic
>>> 2     arte         medic
>>> ..      ....             .....
>>>
>>> Adjunto un recorte de la base!
>>>
>>> Muchas gracias!
>>>
>>> Saludos, Juan.
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>> --
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> .


-- 
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España



Más información sobre la lista de distribución R-help-es