Código
library(tidyverse)
library(janitor)
Diseño Experimental
library(tidyverse)
library(janitor)
<-
nombres_var c("fecha",
"promedio_acad",
"numero_nofav",
"horas_dormir",
"redes_sociales",
"relevencia_matem",
"fecha_nac",
"asignaturas",
"num_semestre",
"trabaja",
"asignatura_prefer",
"asignatura_dific",
"editar_carrera",
"aplicacion_ia",
"tiene_pc",
"beca")
<-
df_encuesta_inicial read_csv("datos/Encuesta.csv") |>
clean_names()
|> head() df_encuesta_inicial
<-
df_encuesta_final |>
df_encuesta_inicial filter(x1_cual_es_su_promedio_academico_actual != "50") |>
set_names(nombres_var) |>
mutate(
promedio_acad = str_replace_all(promedio_acad, ",", "."),
promedio_acad = as.numeric(promedio_acad),
numero_nofav = str_replace_all(numero_nofav, "tres", "3"),
numero_nofav = as.numeric(numero_nofav),
horas_dormir = parse_number(horas_dormir)
|>
) mutate(
redes_sociales = str_replace_all(
redes_sociales,"Tiktok, Youtube, Pinterest, instagram, Spotify, Whatsapp",
"6"
),redes_sociales = str_replace_all(redes_sociales,
"WhatsApp",
"1"),
redes_sociales = str_replace_all(redes_sociales,
"instagram, x",
"2"),
redes_sociales = str_replace_all(
redes_sociales,"Facebook, Twitter, WhatsApp, Telegram, Snapchat, Tik Tok, Instagram",
"7"
),redes_sociales = str_replace_all(redes_sociales,
"Instagram, Facebook",
"2"),
redes_sociales = str_replace_all(redes_sociales,
"Instagram,facebook",
"2"),
redes_sociales = str_replace_all(
redes_sociales,"Facebook, Twitter, 1, Telegram, Snapchat, Tik Tok, Instagram",
"6"
),redes_sociales = as.numeric(redes_sociales),
asignaturas = str_replace(asignaturas,
"Siete materias",
"7"),
asignaturas = as.numeric(asignaturas),
num_semestre = str_replace(num_semestre,
"Quinto semestre",
"5"),
num_semestre = str_replace(num_semestre,
"Cuarto",
"4"),
num_semestre = as.numeric(num_semestre),
asignatura_prefer = str_to_sentence(asignatura_prefer),
asignatura_prefer =
str_replace_all(asignatura_prefer,
"Botánica y fisiología vegetal",
"Botánica"),
asignatura_prefer =
str_replace_all(asignatura_prefer,
"Botanica y fisiologia vegetal",
"Botánica"),
asignatura_prefer =
str_replace_all(asignatura_prefer,
"Botanica",
"Botánica"),
asignatura_prefer =
str_replace_all(asignatura_prefer,
"Topografia",
"Topografía"),
asignatura_dific = str_to_sentence(asignatura_dific),
asignatura_dific =
str_replace_all(asignatura_dific,
"Calculo",
"Cálculo diferencial"),
asignatura_dific =
str_replace_all(asignatura_dific,
"Calculo 1",
"Cálculo diferencial"),
asignatura_dific =
str_replace_all(asignatura_dific,
"Calculo diferencial",
"Cálculo diferencial"),
asignatura_dific =
str_replace_all(asignatura_dific,
"Calculo integral",
"Cálculo integral"),
asignatura_dific =
str_replace_all(asignatura_dific,
"Algebra lineal",
"Álgebra lineal"),
asignatura_dific =
str_replace_all(
asignatura_dific,"Ecuaciones diferenciales y inglés.",
"Ecuaciones diferenciales"
),asignatura_dific =
str_replace_all(asignatura_dific,
"Cálculo diferencial integral",
"Cálculos"),
asignatura_dific =
str_replace_all(asignatura_dific,
"Los calculos",
"Cálculos"),
asignatura_dific =
str_replace_all(
asignatura_dific,"Cálculo diferencial 1",
"Cálculo diferencial"
),asignatura_dific =
str_replace_all(
asignatura_dific,"Cálculo diferencial diferencial",
"Cálculo diferencial"
),asignatura_dific =
str_replace_all(
asignatura_dific,"Cálculo diferencial vectorial",
"Cálculo diferencial"
),fecha_nac = if_else(
== "0095-12-18",
fecha_nac true = ymd("1995-12-18"),
false = fecha_nac
),edad = as.numeric((Sys.Date() - fecha_nac) / 365.5)
)
# writexl::write_xlsx(df_encuesta_final, "datos/encuesta_depurada2024.xlsx")
|> head() df_encuesta_final
|>
df_encuesta_final count(numero_nofav)
|>
df_encuesta_final ggplot(aes(x = numero_nofav)) +
geom_histogram(color = "black")
|>
df_encuesta_final mutate(dia_cumple = day(fecha_nac),
mes_cumple = month(fecha_nac)) |>
count(mes_cumple, dia_cumple, sort = T)
<-
media_general_prom mean(df_encuesta_final$promedio_acad, na.rm = TRUE)
<-
mediana_general_prom median(df_encuesta_final$promedio_acad, na.rm = TRUE)
|>
df_encuesta_final ggplot(aes(x = promedio_acad)) +
geom_density() +
geom_vline(xintercept = media_general_prom, color = "red", lty = 2) +
geom_vline(xintercept = mediana_general_prom, color = "blue", lty = 2)
|>
df_encuesta_final count(trabaja) |>
mutate(proporcion = n / sum(n))
|>
df_encuesta_final ggplot(aes(x = trabaja, y = promedio_acad)) +
geom_boxplot()
|>
df_encuesta_final ggplot(aes(x = beca, y = promedio_acad)) +
geom_boxplot()
|>
df_encuesta_final group_by(beca) |>
reframe(promedio = mean(promedio_acad, na.rm = TRUE),
mediana = median(promedio_acad, na.rm = TRUE),
desviacion = sd(promedio_acad, na.rm = TRUE),
varianza = var(promedio_acad, na.rm = TRUE)) |>
mutate(coefVar = (desviacion / promedio) * 100)
|>
df_encuesta_final tabyl(beca, trabaja) |>
adorn_percentages("row") |>
adorn_pct_formatting(digits = 2) |>
adorn_ns()
|>
df_encuesta_final count(beca, trabaja) |>
ggplot(aes(x = beca, y = n, fill = trabaja)) +
geom_col(position = "fill") +
coord_flip()
mosaicplot(table(df_encuesta_final$beca, df_encuesta_final$trabaja),
main = "Gráfico de mosaico",
xlab = "¿Beca?",
ylab = "¿Trabaja?")
|>
df_encuesta_final ggplot(aes(x = redes_sociales, y = promedio_acad)) +
geom_point() +
geom_smooth(method = "lm")
|>
df_encuesta_final ggplot(aes(x = horas_dormir, y = promedio_acad, color = beca)) +
geom_point() +
geom_smooth(method = "lm")