[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