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

2021-10-06 Por tema Marcelino de la Cruz Rot

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

2021-10-06 Por tema juan manuel dias
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

2021-10-06 Por tema José Luis Pedro Méndez
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

2021-10-06 Por tema juan manuel dias
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