El 20 mar. 2023, a las 12:53, juan manuel dias <juamadias en gmail.com> escribió:
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.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.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.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.png>
Y asà con todos los casos, por ejemplo, si solo respondió "excel", necesitarÃa que quede asÃ:
<image.png>
Estoy intentando hacerlo pero sin resultados!
Muchas gracias! Juan.