dados = read_csv(here::here("data/amostra-alunos-comfpcc.csv"))
## Parsed with column specification:
## cols(
## Timestamp = col_character(),
## `Quantas horas por noite você dorme DURANTE A SEMANA em média?` = col_double(),
## `Quantas horas por noite você dorme durante NO FIM DE SEMANA em média?` = col_double(),
## `Quantas disciplinas você está cursando esse semestre?` = col_double(),
## `Quantas xícaras de café você tomou ontem?` = col_double(),
## `Quantas pessoas você segue no github?` = col_double(),
## `Quantas pessoas seguem você no github?` = col_double(),
## `Você está dois períodos ou menos de concluir?` = col_character()
## )
dados = dados %>%
rename(
sono_semana = `Quantas horas por noite você dorme DURANTE A SEMANA em média?`,
sono_fds = `Quantas horas por noite você dorme durante NO FIM DE SEMANA em média?`,
disciplinas = `Quantas disciplinas você está cursando esse semestre?`,
cafe = `Quantas xícaras de café você tomou ontem?`,
segue_gh = `Quantas pessoas você segue no github?`,
seguido_gh = `Quantas pessoas seguem você no github?`,
quase_concluinte = `Você está dois períodos ou menos de concluir?`
)
dados = dados %>%
mutate(data = lubridate::mdy_hms(Timestamp),
turma = if_else(data < as.POSIXct("2019-05-24 12:00:00"),
"cdd",
"fpcc"))
glimpse(dados)
## Observations: 47
## Variables: 10
## $ Timestamp <chr> "5/24/2019 11:49:02", "5/24/2019 11:49:06", "5/…
## $ sono_semana <dbl> 7, 6, 6, 7, 4, 7, 4, 4, 7, 6, 7, 6, 6, 7, 5, 5,…
## $ sono_fds <dbl> 8, 9, 9, 7, 8, 8, 8, 6, 7, 8, 8, 8, 7, 9, 9, 8,…
## $ disciplinas <dbl> 5, 6, 4, 5, 4, 6, 4, 6, 5, 5, 5, 6, 5, 6, 5, 5,…
## $ cafe <dbl> 4, 0, 0, 0, 0, 2, 0, 5, 2, 2, 0, 2, 2, 2, 5, 3,…
## $ segue_gh <dbl> 14, 97, 68, 22, 40, 19, 40, 74, 2, 16, 12, 14, …
## $ seguido_gh <dbl> 11, 76, 71, 28, 33, 9, 33, 74, 13, 45, 12, 10, …
## $ quase_concluinte <chr> "Sim", "Não", "Não", "Sim", "Não", "Não", "Não"…
## $ data <dttm> 2019-05-24 11:49:02, 2019-05-24 11:49:06, 2019…
## $ turma <chr> "cdd", "cdd", "cdd", "cdd", "cdd", "cdd", "cdd"…
dados = dados %>%
filter(segue_gh < 800,
seguido_gh < 900)
dados %>%
ggplot(aes(x = sono_semana)) +
geom_histogram(binwidth = 1, boundary = 0) +
facet_wrap(~ turma,
ncol = 1)
dados %>%
ggplot(aes(x = sono_fds)) +
geom_histogram(binwidth = 1, boundary = 0) +
facet_wrap(~ turma,
ncol = 1) +
xlim(5,10)
dados %>%
ggplot(aes(x = turma, y = sono_fds)) +
geom_quasirandom(width = .1) +
stat_summary(geom = "point", fun.y = "mean", color = "red", size = 5) +
labs (y = "Sono no fim de semana")
theta_diferenca_fds = function(d, i){
sonos = d %>%
slice(i) %>%
group_by(turma) %>%
summarize(sono = mean(sono_fds))
cdd = sonos %>%
filter(turma == "cdd") %>%
pull(sono)
fpcc = sonos %>%
filter(turma == "fpcc") %>%
pull(sono)
cdd - fpcc
}
theta_diferenca_fds(dados, 1:NROW(dados))
## [1] 0.7678571
booted <- boot(data = dados,
statistic = theta_diferenca_fds,
R = 5000)
ci_fds = tidy(booted,
conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
glimpse(ci_fds)
## Observations: 1
## Variables: 5
## $ statistic <dbl> 0.7678571
## $ bias <dbl> -0.0002009298
## $ std.error <dbl> 0.2902037
## $ conf.low <dbl> 0.1806669
## $ conf.high <dbl> 1.331534
ci_fds %>%
ggplot(aes(
x = "",
y = statistic,
ymin = conf.low,
ymax = conf.high
)) +
geom_pointrange() +
geom_point(size = 3) +
labs(x = "cdd - fpcc",
y = "")
dados %>%
ggplot(aes(x = turma, y = sono_semana)) +
geom_quasirandom(width = .1) +
stat_summary(geom = "point", fun.y = "mean", color = "red", size = 5) +
labs (y = "Sono em dias de semana")
theta_diferenca_semana = function(d, i){
sonos = d %>%
slice(i) %>%
group_by(turma) %>%
summarize(sono = mean(sono_semana))
cdd = sonos %>%
filter(turma == "cdd") %>%
pull(sono)
fpcc = sonos %>%
filter(turma == "fpcc") %>%
pull(sono)
cdd - fpcc
}
theta_c_semana = theta_diferenca_semana(dados, 1:NROW(dados))
theta_c_semana
## [1] 0.1904762
booted <- boot(data = dados,
statistic = theta_diferenca_semana,
R = 5000)
ci_semana = tidy(booted,
conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
glimpse(ci_semana)
## Observations: 1
## Variables: 5
## $ statistic <dbl> 0.1904762
## $ bias <dbl> -0.006294109
## $ std.error <dbl> 0.3130691
## $ conf.low <dbl> -0.44
## $ conf.high <dbl> 0.7975553
ci_semana %>%
ggplot(aes(
x = "",
y = statistic,
ymin = conf.low,
ymax = conf.high
)) +
geom_pointrange() +
geom_point(size = 3) +
labs(x = "cdd - fpcc",
y = "")
dados %>%
group_by(turma) %>%
summarise(media_semana = mean(sono_semana),
media_fds = mean(sono_fds),
diferenca_medias = mean(sono_fds - sono_semana),
desvio_semana = sd(sono_semana),
desvio_fds = sd(sono_fds),
n = n())
## # A tibble: 2 x 7
## turma media_semana media_fds diferenca_medias desvio_semana desvio_fds
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 cdd 6.19 8.14 1.95 1.17 1.01
## 2 fpcc 6 7.38 1.38 0.933 0.970
## # … with 1 more variable: n <int>
theta_diferenca_turmas = function(d, i){
d %>%
slice(i) %>%
group_by(turma) %>%
summarise(media_sono = mean(sono_fds - sono_semana)) %>%
pull(media_sono)
}
theta_diferenca_turmas(dados, 1:NROW(dados))
## [1] 1.952381 1.375000
theta_diferenca = function(d, i){
d %>%
slice(i) %>%
summarise(media_sono = mean(sono_fds - sono_semana)) %>%
pull(media_sono)
}
theta_diferenca(dados, 1:NROW(dados))
## [1] 1.644444
Durante os dias de semana, quando os alunos precisam assistir as aulas do curso, os alunos dormem menos 1.95 hora no caso dos alunos de cdd (graduação) e 1.37 hora de fpcc. Fazendo o bootstrap, o theta da diferença é 1.64 hora. Pode-se considerar que os cursos de graduação e pós têm um impacto grande no sono dos alunos, visto que 1 hora a mais de sono faz diferença na vida de uma pessoa.
O impacto é um pouco maior pra os alunos de cdd (graduação). Podemos observar isso através da diferença média entre cdd e fpcc. A diferença média é sempre maior para cdd. A média (diferença entre as médias das turmas) é maior 0.1904762 nos dias de semana e 0.7678571 nos fins de semana.