---
title: "Untitled"
author: "IMLE"
date: "3/5/2020"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
Disponemos de la ya conocida base de datos "trabajadores" Consideramos que los datos son poblacionales y considermos tambien las subpoblaciones de mujeres trabajadoras, hombres trabajadores

A partir de aquí tomaremos muestras con las realizaremos distintos contrastes .
Los resultados siempre puede compararse con la realidad ya que las poblaciones son conocidas.

```{r}
# rm(list = ls()) #borrar todo lo anterior 
# trabajadores <- read.table("http://www.uv.es/mlejarza/bia/trabajadores.R")
trabajadores<-read.table("C:/Users/ASUS/Documents/AzarProbabilidadInferencia/datos/trabajadores.Rdata")
names(trabajadores) #vemos las variables de la base de datos

hombres<-subset(trabajadores,genero=="hombre")
mujeres<-subset(trabajadores,genero=="mujer")


```

1. A partir de una muestra de 100 mujeres Â¿podemos aceptar que su ingreso medio es de 22000 â¬ con un nivel de significaciÃ³n del 0.01?
Â¿Es significativamente superior a 21000 â¬ a ese mismo nivel?

```{r}
.pob<-mujeres$ingresos
# los objetos intermedios los llammos todos con un punto delante para que se queden
# en el "entorno global"
set.seed(144)
.muestra<-sample(.pob,100)


# .media=mean(.muestra);dt=sd(.muestra) # valores muestrales.No son necesarios
.ns=0.01 # nivel de significaciÃ³n
   ##CONTRASTE DE MU=22000 ALTERNATIVA BILATERAL
## usando estadÃ�stico z --> z.test
library(TeachingDemos) # cargamos el paquete onde estÃ¡ z.test
z.test(.muestra,mu=22000,sd=sd(.muestra),conf.level =1-.ns )

## usando t.test 
t.test(.muestra,mu=22000,conf.level = 1-.ns)

 ##CONTRASTE DE MU=21000 ALTERNATIVA   MU>21000 

## usando estadÃ�stico z --> z.test

z.test(.muestra,mu=21000,sd=sd(.muestra),alternative="g",conf.level =1-.ns )

## usando t.test 
t.test(.muestra,mu=21000,alternative="g",conf.level = 1-.ns)

# NOS SE PUEDE DESCARTAR QUE LOS INGRESOS DE LA MUJERES SEAN DE 22000 
# A UN NIVEL DEL 1 % ( NI CON PROCEDIEMINTO Z NI CON t )

# CON P-VALORES DEL 1.3% (Z) Y 1.4% (t) estamos cerca de poder hacerlo
# PREVISIBLEMENTE SÃ SE PODRÃ CONCLUIR QUE LOS INGRESOS SON INFERIORES A 22000

# TAMPOCO PODEMOS "ASEGURAR" UNOS INGRESOS SIGNIFICATIVAMENTE SUPERIORES A 21000 
# A ESE NIVEL DE SIGNIFICACIÃN 


```



2.Â¿ Puede establecerse ( a partir de una muestra de 100  hombres trabajadores y otra de 100  trabajadores terciarios hombres) que, entre los hombres, los trabajadores terciarios gastan SIGNIFICATIVAMENTE mÃ¡s, por tÃ©rmino medio, en seguros que el conjunto de trabajadores?  

```{r}
terciarioshom<-subset(hombres,sector=="terciario")
.pob1<-terciarioshom$segurpen
.pob2<-hombres$segurpen
set.seed(144)
.muestra1<-sample(.pob1,100)
.muestra2<-sample(.pob2,100)
print("medias muestrales")
mean(.muestra1);mean(.muestra2)
print("desv.tipicas muestrales")
sd(.muestra1);sd(.muestra2)



# una vez obtenidos los datos podemos utilizar una procedimiento z  segÃºn la funciÃ³n
# z.test.2m ( del archivo: http://www.uv.es/mlejarza/bia/zp.R)
# o bien usar el procedimiento t de t.test




# cargamos la funciÃ³n ( y sus funciones auxiliares)
######################          #                     #                 #
##funciÃ³n para el contraste z de diferencia de medias
## z.test.2m=function(a,b,var.a,var.b,mu.0,alternativa.1="distinta",sign=0.05)
## a= muestra1
## b= muestra2
## var.a= varianza pob1
## var.b= varianza pob2
## mu.0= valor de la diferencia segÃºn la Hip.nula ( 0, por defecto)
## alternativa.1 = "distinta" / "mayor" /  "menor" ( distinta ,por defecto)
## sign= nivel de signif. para el contraste ( 0.05, por defecto)


z.2m = function(a, b, var.a, var.b, mu.0=0){
  
  n.a = length(a)
  n.b = length(b)
  zeta = (mean(a) - mean(b)-mu.0) / (sqrt(var.a/n.a + var.b/n.b))
  return(zeta)
}


p.v=function(a,b,var.a,var.b,mu.0,alternativa.1="distinta"){
  z0=z.2m(a,b,var.a,var.b,mu.0)
  
  if(alternativa.1=="mayor")
    p=pnorm(z0,0,1,lower.tail = FALSE)
  else
    if (alternativa.1=="menor")
      p=pnorm(z0,0,1) 
    else
      p=pnorm(abs(z0),0,1,lower.tail=FALSE)*2
    
    return(p)
}


z.test.2m=function(a,b,var.a,var.b,mu.0=0,alternativa.1="distinta",sign=0.05)
{
  
  z=z.2m(a,b,var.a,var.b,mu.0)
  p=p.v(a,b,var.a,var.b,mu.0,alternativa.1)
  print("Contraste  z para la diferencia de dos medias")
  print("=============================================")
  print(paste("H0 : la diferencia =",mu.0))
  print (paste ("H1:", alternativa.1,"que/de",mu.0))
  print("=============================================")
  print("estadÃ�stico")
  print (paste ("z=",z))
  print("============================================= ")
  print(paste("p-valor=",p))
  print("conclusiÃ³n:")
  if (p<sign) print(paste("la diferencia es significativamente",alternativa.1,
                          "que/de",mu.0,"a un nivel del ",
                          sign*100,"% de significaciÃ³n"))
  else
    print(paste("la diferencia NO es significativamente",alternativa.1,
                "que/de",mu.0,"a un nivel del ",
                sign*100,"% de significaciÃ³n"))
}

 z.test.2m(.muestra1,.muestra2,var(.muestra1),var(.muestra2))


 # Utilzando el procedimiento t.test:
 
 t.test(.muestra1,.muestra2)

# En mabos casos sale que NO PODEMOS DESCARTAR QUE AMBAS MEDIAS SEAN IGUALES
# lOS P-VALORES DEL ESTADÃ�stico son muy grandes  
 
# cURIOSAMENTE EL ESTADÃSTICO OBTENIDO CON ESTAS DOS MUESTRAS HA RESULTADO SER 
# NEGATIVO. -0.7921 EN AMBOS CASOS
# la media muestral de todos los hombres es mayor que la de los terciarios
# sin embargo  en la poblaciÃ³n ocurre al revÃ©s aunque por muy poco ( 84 centimos)

 
 print("resultados poblacionales de Gtos segur en hombres terciario ,en hombres y deiferencia" )
 mean(terciarioshom$segurpen)
 mean(hombres$segurpen)
 mean(terciarioshom$segurpen)-mean(hombres$segurpen)  
```

3.- Obtenemos una muestra de 2000 mujeres  y a partir de ella queremos ver si el porcentaje de trabajadoras secundarias supera significativamente el 35%  y a quÃ© nivel de significaciÃ³n

```{r}

set.seed(144)
seleccion<-sample(64500,2000)

.muestra<-mujeres[seleccion,]

muj.sec.muest<-table(.muestra$sector)[2]
.p.muestral=muj.sec.muest/2000

# utilizaremos el procedimiento z para p  de la funciÃ³n p.test1 
# ( del archivo: http://www.uv.es/mlejarza/bia/zp.R)

# cargamos la funciÃ³n p.test1
p.test1= function(p, n, p0,alternativa.1="distinta",sign=0.05 ){
  
  
  zeta = ((p - p0) / 0.5)*sqrt(n)
  
  
  if(alternativa.1=="mayor")
    pv=pnorm(zeta,0,1,lower.tail = FALSE)
  else
    if (alternativa.1=="menor")
      pv=pnorm(zeta,0,1) 
  else
    pv=pnorm(abs(zeta),0,1,lower.tail=FALSE)*2
  print("Contraste  z para una proporciÃ³n")
  print("=============================================")
  print(paste("H0 : p =",p0))
  print (paste ("H1: p es", alternativa.1,"que/de",p0))
  print("=============================================")
  print(paste("proporciÃ³n muestral=",p))
  print("estadÃ�stico")
  print (paste ("z=",zeta))
  print("============================================= ")
  print(paste("p-valor=",pv))
  print("conclusiÃ³n:")
  if (pv<sign) print(paste("la proporciÃ³n es significativamente",alternativa.1,
                          "que/de",p0,"a un nivel del ",
                          sign*100,"% de significaciÃ³n"))
  else
    print(paste("proporciÃ³n NO es significativamente",alternativa.1,
                "que/de",p0,"a un nivel del ",
                sign*100,"% de significaciÃ³n"))
  
}

p.test1(.p.muestral,2000,0.35,alternativa.1 = "mayor")

```

4.Con una significaciÃ³n del 1%, se puede admitir que las proporciones de mujeres empleadas en el sector terciario  es semejante a la proporcion de hombres empleadas en el mismo sector a partir de dos muestras de tamaÃ±o 1000 en ambos casos. 

```{r}
set.seed(144)
seleccion1<-sample(185500,1000)
seleccion2<-sample(64500,1000)

.muestrah<-hombres[seleccion1,]
.muestram<-mujeres[seleccion2,]

.terciariosh<-table(.muestrah$sector)[3]
.terciariosm<-table(.muestram$sector)[3]


.ph=.terciariosh/1000
.pm=.terciariosm/1000

#utilizarÃ�amos ahora la funciÃ³n p.test2 ( para dos muestras)
# la cargamos:
p.test2= function(p1, p2,n1,n2, p0=0,alternativa.1="distinta",sign=0.05 ){
  
  
  zeta = ((p1-p2) - p0) / sqrt((0.25/n1)+(0.25/n2))
  
  
  if(alternativa.1=="mayor")
    pv=pnorm(zeta,0,1,lower.tail = FALSE)
  else
    if (alternativa.1=="menor")
      pv=pnorm(zeta,0,1) 
    else
      pv=pnorm(abs(zeta),0,1,lower.tail=FALSE)*2
    print("Contraste  z para la diferencia de dos proporciones")
    print("=============================================")
    print(paste("H0 : p1-p2 =",p0))
    print (paste ("H1: p1-p2 es", alternativa.1,"que/de",p0))
    print("=============================================")
    print(paste("la diferencia  muestral=",p1-p2))
    print("estadÃ�stico")
    print (paste ("z=",zeta))
    print("============================================= ")
    print(paste("p-valor=",pv))
    print("conclusiÃ³n:")
    if (pv<sign) print(paste("la diferencia es significativamente",alternativa.1,
                             "que/de",p0,"a un nivel del ",
                             sign*100,"% de significaciÃ³n"))
    else
      print(paste("diferencia NO es significativamente",alternativa.1,
                  "que/de",p0,"a un nivel del ",
                  sign*100,"% de significaciÃ³n"))
    
}


## p.test2(p1, p2,n1,n2, p0,alternativa.1="distinta",sign=0.05 )

p.test2(.ph,.pm,1000,1000,sign=0.01)


```









