# Ejercicio 1
# Abrir el cuaderno y buscar la formula del ic para mu. 
# Veamos como le pedimos a R que lo calcule
# Llamamos niv al nivel, cuanto vale el percentil de la normal?
aa<-c(23.3 , 22.5 , 21.9 , 21.5 , 19.9 )
qnorm(0.90)         #sera esto?
qnorm(1-(1-0.90/2)) # o esto?
qnorm(1-(1-0.90)/2) # o esto?

# investiguemos: como hallamos el n? 
length(aa)

# Como calculamos la media muestral?
mean(aa)

# la funcion
ICmuconsigma<-function (muestra , niv , des )
{
  zalfasobre2<-qnorm(1-(1-niv)/2)
  ene<-length(muestra)
  izq<-mean(muestra)-zalfasobre2*des/sqrt(ene)
  der<-mean(muestra)+zalfasobre2*des/sqrt(ene)
  interv<-c(izq,der)
  interv
}


ICmuconsigma(muestra = aa, niv = 0.90, des = sqrt(1.8))

# Ejercicio 2
# investiguemos los cuantiles de la t
qt(0.90,4)  #sera esto?
qt((1-(1-0.90/2)),5-1)  # o esto?
qt((1-(1-0.90)/2),5-1)  # o esto?

#como calculamos el desvio estandar de la muestra?
sd(aa)

# la funcion depende de un argumento menos!
ICmusinsigma<-function (muestra , niv)
{
  ene<-length(muestra)
  talfasobre2<-qt((1-(1-niv)/2),ene-1)
  des<-sd(muestra)
  izq<-mean(muestra)-talfasobre2*des/sqrt(ene)
  der<-mean(muestra)+talfasobre2*des/sqrt(ene)
  interv<-c(izq,der)
  interv
}


# Ejercicio 3
#a) hasta c)
muestra<-rnorm(5,mean = 0,sd = 1)
intervalo<-ICmuconsigma(muestra, niv=0.90, des=1)
intervalo
esta<-1*({intervalo[1] <= 0} & { 0 <=intervalo[2]})
esta
#observemos que esto da 1 si se cumplen las dos condiciones, 
#y 0 si alguna es falsa



#e)
#creamos un vector que tenga un numero que no vamos a usar repetido mil veces
estan<-rep(20,1000)
for (i in 1:1000){
muestra<-rnorm(5,mean = 0,sd = 1)
intervalo<-ICmuconsigma(muestra, niv=0.90, des=1)
estan[i]<-1*({intervalo[1] <= 0} & { 0 <=intervalo[2]})
}
estan 
#estan es un vector de longitud mil con un 1 en la repeticion que atrapo
#al mu y un 0 sino
#lo resumimos: 
sum(estan)/1000
# o bien 
mean(estan)

#f) Es el mismo script de la cuenta anterior, pero ponemos el sd(muestra)
#en vez del valor verdadero que sabemos que es 1 en este caso.

estan<-rep(20,1000)
for (i in 1:1000){
  muestra<-rnorm(5,mean = 0,sd = 1)
  desviomuestral<-sd(muestra)
  intervalo<-ICmuconsigma(muestra, niv=0.90, des=desviomuestral)
  estan[i]<-1*({intervalo[1] <= 0} & { 0 <=intervalo[2]})
}
mean(estan)

#g)
estanbien<-rep(20,1000)
for (i in 1:1000){
  muestra<-rnorm(5,mean = 0,sd = 1)
  desviomuestral<-sd(muestra)
  intervalo<-ICmusinsigma(muestra, niv=0.90)
  estanbien[i]<-1*({intervalo[1] <= 0} & { 0 <=intervalo[2]})
}
mean(estanbien)

# De hecho, podriamos aplicar ambos procedimientos sobre la misma muestra 
# cada vez
for (i in 1:1000){
  muestra<-rnorm(5,mean = 0,sd = 1)
  desviomuestral<-sd(muestra)
  intervalobien<-ICmusinsigma(muestra, niv=0.90)
  estanbien[i]<-1*({intervalobien[1] <= 0} & { 0 <=intervalobien[2]})
  intervalo<-ICmuconsigma(muestra, niv=0.90, des=desviomuestral)
  estan[i]<-1*({intervalo[1] <= 0} & { 0 <=intervalo[2]})
}
mean(estan)
mean(estanbien)



