TRABAJO PRÁCTICO NÚMERO 2

#Cargamos los paquetes

library(haven)
library(readxl)
library(tidyverse)
library(survey)
library(dplyr)
library(samplingbook)
library(stratification)
#Cargamos la base

dbcaps<- read_excel("CAPS_Provincia_de_Buenos_Aires.xlsx")

colnames(dbcaps)[6:7] <- c("HCLINICA","PRESTACIONES")
#Identificamos los valores maximos y minimos de la variable de estratificacion
max(dbcaps$HCLINICA)
## [1] 1848
min(dbcaps$HCLINICA)
## [1] 6
length(dbcaps$HCLINICA)
## [1] 1112
# Visualizamos la distribucion de la variable de estratificacion

his<- dbcaps$HCLINICA


histograma<- hist(his, breaks = 200)

#Definimos los estratos mediante el metodo de dalenius hodges

estratos<- strata.cumrootf(dbcaps$HCLINICA, CV= 0.05, Ls=3)
## Warning: 'nclass' value has been chosen arbitrarily
estratos
## Given arguments:
## x = dbcaps$HCLINICA
## nclass = 45, CV = 0.05, Ls = 3
## allocation: q1 = 0.5, q2 = 0, q3 = 0.5
## model = none
## 
## Strata information:
##           |      type rh |      bh   E(Y)   Var(Y)   Nh nh   fh
## stratum 1 | take-some  1 |   46.93  18.63   140.51  662 17 0.03
## stratum 2 | take-some  1 |  169.73  92.92  1227.45  364 27 0.07
## stratum 3 | take-some  1 | 1849.00 344.30 76686.00   86 50 0.58
## Total                                              1112 94 0.08
## 
## Total sample size: 94 
## Anticipated population mean: 68.13129 
## Anticipated CV: 0.04912919
#Creamos los estratos a partir de los resultados obtenidos en el ejercicio anterio y Obetenemos los desvios de cada estrato


dbcaps2<- dbcaps %>% mutate(ESTRATOS = case_when( HCLINICA < 47 ~ "ESTRATO 1" , 
                             HCLINICA < 170 ~ "ESTRATO 2" , 
                             HCLINICA < 1850 ~ "ESTRATO 3" ))


resumendbcaps2<- dbcaps2 %>%   group_by(ESTRATOS) %>% summarise(cantidad = n(), desvio_clinic = sd(HCLINICA), variacion = (sd(HCLINICA)^2) ,totalclinicas= sum(HCLINICA))

resumendbcaps2
## # A tibble: 3 x 5
##   ESTRATOS  cantidad desvio_clinic variacion totalclinicas
##   <chr>        <int>         <dbl>     <dbl>         <dbl>
## 1 ESTRATO 1      662          11.9      141.         12330
## 2 ESTRATO 2      364          35.1     1231.         33822
## 3 ESTRATO 3       86         279.     77588.         29610

MUESTRAS POR ADJUDICACIÓN OPTIMA

# Calculadora de tamaño de muestra para una media donde e=error máximo a
# Nh= tamaño de la población de cada estrato
# Adjudicación optima
stratasize(e=10, Nh=c(662,364,86), Sh=c(11.86, 35.08 ,278.55), level = 0.95, type = 'opt')
## 
## stratamean object: Stratified sample size determination
## 
## type of sample: opt
## 
## total sample size determinated: 51
# Adjudicación optima del tamaño muestral
stratasamp(n=51, Nh=c(662,364,86))
##                
## Stratum  1  2 3
## Size    30 17 4
#Utilizamos muestreo aleatorio simple para extraer la muestra de cada estrato

set.seed(234)
mastrat1<- filter(dbcaps2, ESTRATOS =="ESTRATO 1" ) %>% sample_n( size = 30) 
mastrat2<- filter(dbcaps2, ESTRATOS =="ESTRATO 2" ) %>% sample_n( size = 17)
mastrat3<- filter(dbcaps2, ESTRATOS =="ESTRATO 3" ) %>% sample_n( size = 4)


#Creamos vectores con el n de cada muestra
nmastrat1 <- count(mastrat1)
nmastrat2 <- count(mastrat2)
nmastrat3 <- count(mastrat3)
#Calculamos el estimador del total por mese y mera por Rs y Rc
#Estimador del total por muestreo estratificado metodo de estimacion por simple expansion razon separadas
#Calculamos prestaciones. ymin = hclinica , xmin=hclinica

ymin1<- sum(mastrat1$PRESTACIONES)
ymin2<- sum(mastrat2$PRESTACIONES)
ymin3<- sum(mastrat3$PRESTACIONES)
xmin1 <-sum(mastrat1$HCLINICA)
xmin2 <-sum(mastrat2$HCLINICA)
xmin3 <-sum(mastrat3$HCLINICA)


mesers<- ((ymin1/xmin1)*resumendbcaps2$totalclinicas[1]) + ((ymin2/xmin2)*resumendbcaps2$totalclinicas[2]) + ((ymin3/xmin3)*resumendbcaps2$totalclinicas[3])

mesers
## [1] 461275.5
#Estimador del total por muestreo estratificado metodo de estimacion por simple expansion razon combinadas


ymeserazoncombi<- (resumendbcaps2$cantidad[1]*(ymin1/nmastrat1)) + (resumendbcaps2$cantidad[2]*(ymin2/nmastrat2)) + (resumendbcaps2$cantidad[3]*(ymin3/nmastrat3))

ymeserazoncombi  
##          n
## 1 411093.8
xmeserazoncombi<-  (resumendbcaps2$cantidad[1]*(xmin1/nmastrat1)) + (resumendbcaps2$cantidad[2]*(xmin2/nmastrat2)) + (resumendbcaps2$cantidad[3]*(xmin3/nmastrat3))

xmeserazoncombi
##          n
## 1 68237.35
mesercomb<- (ymeserazoncombi/xmeserazoncombi)* (sum(dbcaps2$HCLINICA))

mesercomb
##          n
## 1 456425.8
#Estimador de la razon por razon separada

razonsep<- mesers/ (sum(dbcaps2$HCLINICA))

razonsep
## [1] 6.088481
#Estimador de la razon por razon combinada

razoncomb <- ((ymin1+ymin2+ymin3)/(xmin1+xmin2+xmin3))
razoncomb
## [1] 5.972854

MUESTRAS POR ADJUDICACIÓN PROPORCIONAL

# Calculadora de tamaño de muestra para una media donde e=error máximo a
# Nh= tamaño de la población de cada estrato
# Adjudicación proporcional
stratasize(e=10, Nh=c(662,364,86), Sh=c(11.86, 35.08 ,278.55), level = 0.95, type = 'prop')
## 
## stratamean object: Stratified sample size determination
## 
## type of sample: prop
## 
## total sample size determinated: 206
# Adjudicación proporcional del tamaño muestral
stratasamp(n=206, Nh=c(662,364,86))
##                  
## Stratum   1  2  3
## Size    123 67 16
#Utilizamos muestreo aleatorio simple para extraer la muestra de cada estrato
set.seed(234)
mastrat1prop<- filter(dbcaps2, ESTRATOS =="ESTRATO 1" ) %>% sample_n( size = 123)
mastrat2prop<- filter(dbcaps2, ESTRATOS =="ESTRATO 2" ) %>% sample_n( size = 67)
mastrat3prop<- filter(dbcaps2, ESTRATOS =="ESTRATO 3" ) %>% sample_n( size = 16)

#Creamos vectores con el n de cada muestra
nmastrat1prop <- count(mastrat1prop)
nmastrat2prop <- count(mastrat2prop)
nmastrat3prop <- count(mastrat3prop)
#Calculamos el estimador del total por mese y mera por Rs y Rc
#Estimador del total por muestreo estratificado metodo de estimacion por simple expansion razon separadas
#Calculamos prestaciones. ymin = hclinica , xmin=hclinica

ymin1prop<- sum(mastrat1prop$PRESTACIONES)
ymin2prop<- sum(mastrat2prop$PRESTACIONES)
ymin3prop<- sum(mastrat3prop$PRESTACIONES)
xmin1prop <-sum(mastrat1prop$HCLINICA)
xmin2prop <-sum(mastrat2prop$HCLINICA)
xmin3prop <-sum(mastrat3prop$HCLINICA)


mesersprop<- ((ymin1prop/xmin1prop)*resumendbcaps2$totalclinicas[1]) + ((ymin2prop/xmin2prop)*resumendbcaps2$totalclinicas[2]) + ((ymin3prop/xmin3prop)*resumendbcaps2$totalclinicas[3])

mesersprop
## [1] 442572.4
#Estimador del total por muestreo estratificado metodo de estimacion por simple expansion razon combinadas


ymeserazoncombiprop<- (resumendbcaps2$cantidad[1]*(ymin1prop/nmastrat1prop)) + (resumendbcaps2$cantidad[2]*(ymin2prop/nmastrat2prop)) + (resumendbcaps2$cantidad[3]*(ymin3prop/nmastrat3prop))


  

xmeserazoncombiprop<-  (resumendbcaps2$cantidad[1]*(xmin1prop/nmastrat1prop)) + (resumendbcaps2$cantidad[2]*(xmin2prop/nmastrat2prop)) + (resumendbcaps2$cantidad[3]*(xmin3prop/nmastrat3prop))


mesercombprop<- (ymeserazoncombiprop/xmeserazoncombiprop)* (sum(dbcaps2$HCLINICA))

mesercombprop
##          n
## 1 442310.2
#Estimador de la razon por razon separada

razonsepprop<- mesersprop/ (sum(dbcaps2$HCLINICA))

razonsepprop
## [1] 5.841615
#Estimador de la razon por razon combinada

razoncombprop <- ((ymin1prop+ymin2prop+ymin3prop)/(xmin1prop+xmin2prop+xmin3prop))
razoncombprop
## [1] 5.846694

CONCLUSIONES

Se estimó el promedio de prestaciones a través de la razón entre la variable auxiliar, historia clínica y las prestaciones que brindan los caps. Para el cálculo se definió un error de 10%, y un nivel de confianza del 95% a través del método de asignación óptima de razón separada con una muestra estratificada en 3 estratos, fijando la selección por simple azar en 234 la estimación del promedio de prestaciones se estima en 6.08 prestaciones, mientras que el valor poblacional es de 6,73 prestaciones.
Este calculo es el que mejor estima en relación a las otras opciones de razón combinada para asignación óptima, y razón separada y combinada para adjudicación proporcional

##   todaslasmedias2 round.todaslasmedias..2.
## 1       Total pob                     6.73
## 2        razonsep                     6.09
## 3       razoncomb                     5.97
## 4    razonsepprop                     5.84
## 5   razoncombprop                     5.85