# para instalar todos los paquetes
# if(!require("learnr")) install.packages("learnr")
# if(!require("remotes")) install.packages("remotes")
# if(!require("tidyverse")) install.packages("tidyverse")
# if(!require("tibble")) install.packages("tibble")
# if(!require("lubridate")) install.packages("lubridate")
# if(!require("outbreaks")) install.packages("outbreaks")
# if(!require("incidence")) install.packages("incidence")
# if(!require("EpiEstim")) install.packages("EpiEstim")
# if(!require("skimr")) install.packages("skimr")
# if(!require("furrr")) install.packages("furrr")
# if(!require("tictoc")) install.packages("tictoc")
# if(!require("janitor")) install.packages("janitor")
# if(!require("patchwork")) install.packages("patchwork")
# if(!require("incidenceflow")) remotes::install_github("avallecam/incidenceflow")
if(!require("survey")) install.packages("survey")
if(!require("srvyr")) install.packages("srvyr")
if(!require("serosurvey")) remotes::install_github("avallecam/serosurvey")
library(learnr)

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  echo = FALSE,
  message = FALSE,
  warning = FALSE
)

# knitr::opts_chunk$set(fig.width=10, fig.height=4)

options(tidyverse.quiet = TRUE)

Taller 2

Taller 2.1

copiar: %>%

Más detalles de este flujo aquí.

library(serosurvey)

# additional
library(tidyverse)
library(srvyr)
library(survey)
# theme
theme_set(theme_bw())

data(api)
datasurvey <- apiclus2 %>%
  mutate(survey_all="survey_all") %>%
  # create variables
  mutate(outcome_one = awards,
         outcome_two = cut(pct.resp,breaks = 2),
         covariate_01 = stype,
         covariate_02 = both) %>%
  select(dnum,snum,pw,starts_with("outcome"),starts_with("covariate"))

# tratamiento de stratos con un solo conglomerado
options(survey.lonely.psu = "certainty")
# uu_clean_data %>% count(CONGLOMERADO,VIVIENDA)
# diseño muestral de la encuesta ---------------------------------
design <- datasurvey %>%

  filter(!is.na(outcome_one)) %>% #CRITICAL! ON OUTCOME
  filter(!is.na(pw)) %>% #NO DEBEN DE HABER CONGLOMERADOS SIN WEIGHT

  as_survey_design(
    id=c(dnum, snum), #~dnum+snum, # primary secondary sampling unit
    # strata = strata, #clusters need to be nested in the strata
    weights = pw # factores de expancion
  )

# denominadores
covariate_set01 <- datasurvey %>%
  select(covariate_01,
         #sch.wide,
         #comp.imp,
         covariate_02) %>%
  colnames()

# numerators within outcome
covariate_set02 <- datasurvey %>%
  select(#stype,
    #sch.wide,
    #comp.imp,
    covariate_02) %>%
  colnames()

Caso singular

Indicaciaciones:

design
serosvy_proportion(design = design,
                   denominator = covariate_01,
                   numerator = outcome_one)

Taller 2.2

copiar: %>%

Crea una matriz de combinaciones

Indicaciones:

# set 01 of denominator-numerator
expand_grid(
  design=list(design),
  denominator=c("covariate_01","covariate_02"), # covariates
  numerator=c("outcome_one","outcome_two") # outcomes
)
# copia aquí el flujo por partes
# para ver cómo cambia el output
expand_grid(
  design=list(design),
  denominator=c("covariate_01","covariate_02"), # covariates
  numerator=c("outcome_one","outcome_two") # outcomes
) %>%
  #
  # create symbols (to be readed as arguments)
  #
  mutate(
    denominator=map(denominator,dplyr::sym),
    numerator=map(numerator,dplyr::sym)
  )
# copia aquí el flujo por partes
# para ver cómo cambia el output

Taller 2.3

copiar: %>%

Caso múltiple 1

Indicaciones:

# crear matriz
#
# set 01 of denominator-numerator
#
expand_grid(
  design=list(design),
  denominator=c("covariate_01","covariate_02"), # covariates
  numerator=c("outcome_one","outcome_two") # outcomes
) %>%
  #
  # create symbols (to be readed as arguments)
  #
  mutate(
    denominator=map(denominator,dplyr::sym),
    numerator=map(numerator,dplyr::sym)
  ) %>%
  #
  # estimate prevalence ------- OJO: usamos select(.,...) + pmap
  #
  mutate(output=pmap(.l = select(.,design,denominator,numerator),
                     .f = serosvy_proportion)) %>%
  #
  # show the outcome
  #
  select(-design,-denominator,-numerator) %>%
  unnest(cols = c(output)) %>%
  # select(1:5) %>%
  print(n=Inf)
# copia aquí el flujo por partes
# para ver cómo cambia el output

Repaso 2

# crear matriz
#
# set 01 of denominator-numerator
#
expand_grid(
  design=list(design),
  denominator=c("covariate_01","covariate_02"), # covariates
  numerator=c("outcome_one","outcome_two") # outcomes
) %>%
  #
  # create symbols (to be readed as arguments)
  #
  mutate(
    denominator=map(denominator,dplyr::sym),
    numerator=map(numerator,dplyr::sym)
  ) %>%
  #
  # estimate prevalence ------- OJO: usamos select(.,...) + pmap
  #
  mutate(output=pmap(.l = select(.,design,denominator,numerator),
                     .f = serosvy_proportion)) %>%
  #
  # show the outcome
  #
  # retira columnas simbolo
  #
  select(-design,-denominator,-numerator) %>%
  #
  # des-anidar
  #
  unnest(cols = c(output)) %>%
  #
  # imprimir todo el resultado
  #
  print(n=Inf)

Extra

Taller 2

copiar: %>%

Indicaciones:

# crear matriz
#
# set 01 of denominator-numerator
#
expand_grid(
  design=list(design),
  denominator=c("covariate_01","covariate_02"), # covariates
  numerator=c("outcome_one","outcome_two") # outcomes
) %>%
  #
  # set 02 of denominator-numerator (e.g. within main outcome)
  #
  _________(
    expand_grid(
      design=list(design),
      denominator=c("outcome_one","outcome_two"), # outcomes
      numerator=c("covariate_02") # covariates
    )
  )
# copia aquí el flujo por partes
# para ver cómo cambia el output
# ?union_all
# # crear matriz
# #
# # set 01 of denominator-numerator
# #
# expand_grid(
#   design=list(design),
#   denominator=c("covariate_01","covariate_02"), # covariates
#   numerator=c("outcome_one","outcome_two") # outcomes
# ) %>%
#   #
#   # set 02 of denominator-numerator (e.g. within main outcome)
#   #
#   union_all(
#     expand_grid(
#       design=list(design),
#       denominator=c("outcome_one","outcome_two"), # outcomes
#       numerator=c("covariate_02") # covariates
#     )
#   ) %>%
#   #
#   # create symbols (to be readed as arguments)
#   #
#   mutate(
#     denominator=map(denominator,dplyr::sym),
#     numerator=map(numerator,dplyr::sym)
#   ) %>%
#   #
#   # estimate prevalence
#   #
#   mutate(output=pmap(.l = select(.,design,denominator,numerator),
#                      .f = serosvy_proportion)) %>%
#   #
#   # show the outcome
#   #
#   select(-design,-denominator,-numerator) %>%
#   unnest(cols = c(output)) %>%
#   print(n=Inf)


avallecam/serosurvey documentation built on Feb. 12, 2023, 4:13 p.m.