Re: [R-es] Respuestas múltiples en una sola columna
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 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 () 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_3hasta 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_4area* 1 rh sist comunfilos admin 2 rh arte medic 3 sistmatem 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 comunadmin 1 filosadmin 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@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@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 ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Respuestas múltiples en una sola columna
Muchas gracias a ambos! El mié., 6 de octubre de 2021 15:52, Carlos Ortega 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 () > 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_3hasta 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_4area* >> 1 rh sist comunfilos >>admin >> 2 rh arte >> medic >> 3 sistmatem 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 comunadmin >> 1 filosadmin >> 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@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@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Respuestas múltiples en una sola columna
Buenas tardes, En mi caso funciona bien usando pivot_longer, pero guardé la información en csv para leerlo con vroom. base <- vroom("ruta/Ejes formativos.csv", col_types = str_c(rep("c",19))) base %>% pivot_longer(-c(ID,area_pertenencia),"pregunta") [image: image.png] Saludos El mié, 6 oct 2021 a las 13:17, juan manuel dias () 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_3hasta 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_4area* > 1 rh sist comunfilos > admin > 2 rh arte > medic > 3 sistmatem 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 comunadmin > 1 filosadmin > 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@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
[R-es] Respuestas múltiples en una sola columna
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_3hasta 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_4area* 1 rh sist comunfilos admin 2 rh arte medic 3 sistmatem 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 comunadmin 1 filosadmin 1 admin admin 2 rh medic 2 arte medic .. . Adjunto un recorte de la base! Muchas gracias! Saludos, Juan. Ejes formativos.xlsx Description: MS-Excel 2007 spreadsheet ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es