[R-es] preguntas múltiples y creación de variables

juan manuel dias ju@m@d|@@ @end|ng |rom gm@||@com
Lun Mar 20 16:53:37 CET 2023


Hola, cómo andan!

Tengo el siguiente problema.

Tengo una pregunta cuya respuesta es múltiple, pero en en la base están
todas las respuestas en una misma variable y cada respuesta está
separada por ",".

Así está

[image: image.png]

Hago esto para poder separar en columnas las distintas respuestas:





*mult_bas_dat<-mult_bas_dat %>%  separate_rows(bases, sep = ",") %>%
mutate(basedatos = str_squish(bases)) %>%  select(basedatos)*
## múltiple a columnas ##





*mult_bas_dat_final<-mult_bas_dat %>%  separate_rows(basedatos, sep = ",")
%>%  mutate(basedatos = str_squish(basedatos), # Para quitar los espacios
en blanco indeseados         id = 1) %>%  spread(key = basedatos, value =
id)*

## na's a 0 ##

*mult_bas_dat_final[is.na <http://is.na>(mult_bas_dat_final)] <- 0*
# limpio los nombres #

*mult_bas_dat_final <- mult_bas_dat_final %>%  clean_names()*

## cambio nombres a cada opción de bases ##
*mult_bas_dat_final=rename(mult_bas_dat_final,
c(excel="p5.1",sheets="p5.2",sql_server_microsoft="p5.3",mongo_db="p5.4",access="p5.5",oracle="p5.6",mysql="p5.7",postgre_sql="p5.8"))*

Me queda así

[image: image.png]

El tema es que cuándo quiero correr el siguiente código:







*mutate(puntaje_p4_p5=case_when(p4_bases_prop==1 & p5.1==1 ~ 0.4,
                       p4_bases_prop==1 & p5.2==1 ~ 0.5,
             (p4_bases_prop==1) & ((p5.1==1) & (p5.3==1) | (p5.4==1) |
(p5.6=1) | (p5.7==1) | (p5.8==1)) ~  1,
 (p4_bases_prop==1) & ((p5.2==1) & (p5.3==1) | (p5.4==1) | (p5.6=1) |
(p5.7==1) | (p5.8==1)) ~  1,
 (p4_bases_prop==1) & ((p5.5==1) & (p5.3==1) | (p5.4==1) | (p5.6=1) |
(p5.7==1) | (p5.8==1)) ~  1,
 (p4_bases_prop==1) & (p5.3==1 | p5.4==1 | p5.6==1 | p5.7==1 | p5.8==1) ~
1,                                 p4_bases*_prop==1  &  p5.5==1 ~ 0.6,

Sale el siguiente error porque no encuentra una de las variables que están
en los condicionales, en este caso p5.3, pero podría ser cualquier otra.

[image: image.png]

Necesito para todos los casos generar tantas columnas como posibilidades de
respuesta tengo en esa pregunta, más allá de las respuestas generadas.

Las posibles respuestas son: excel, sheets, sql_server_microsoft,
mongo_db, access, oracle, mysql, postgre_sql

Por ejemplo, este caso que respondió así:

*"excel, sheets, oracle, postgre_sql"   *

Necesitaría que quede así

[image: image.png]

Y así con todos los casos, por ejemplo, si solo respondió "*excel",
*necesitaría
que quede así:

[image: image.png]

Estoy intentando hacerlo pero sin resultados!

Muchas gracias! Juan.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 35879 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0005.png>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 10546 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0006.png>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 28869 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0007.png>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 11088 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0008.png>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 11192 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20230320/43c311d7/attachment-0009.png>


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