Problema:

Diseñar una función que realice las operaciones para calcular los intervalos de confianza. Para el dataframe “Flexiones”, con varianza poblacional conocida y desconocida.

Solucion:

Dataframe flexiones:

Flexiones <- read.table("Flexiones.txt",header = T)
Datos <- Flexiones
str(Flexiones)
## 'data.frame':    75 obs. of  3 variables:
##  $ Flexiones: int  60 41 53 53 41 56 50 53 50 48 ...
##  $ Sexo     : chr  "H" "H" "M" "M" ...
##  $ Deporte  : int  0 0 1 0 0 0 0 1 1 0 ...

Como podemo observar las variables Sexo y Deportes son variables de tipo chr y int lo cual es falso, pues estas dos son variables de tipo factor.

Datos$Sexo <- as.factor(Datos$Sexo)
Datos$Deporte <- as.factor(Datos$Deporte)
str(Datos)
## 'data.frame':    75 obs. of  3 variables:
##  $ Flexiones: int  60 41 53 53 41 56 50 53 50 48 ...
##  $ Sexo     : Factor w/ 2 levels "H","M": 1 1 2 2 1 1 1 2 2 2 ...
##  $ Deporte  : Factor w/ 2 levels "0","1": 1 1 2 1 1 1 1 2 2 1 ...

Invervalo de confianza con varianza conocida:

Calculamos un intervalo de confianza para la variable Flexiones, suponiendo un intervalo de confianza del \(95%\).

media = mean(Datos$Flexiones)
varianzaDatos = var(Datos$Flexiones)
sdDatos = sqrt(varianzaDatos)
alfa = 1-0.95 # Nivel de significancia
errorEstimacion = qnorm(alfa/2)*(sdDatos/sqrt(75))
L.S = round((media - errorEstimacion),2)
L.I = round((media + errorEstimacion),2)
print(paste("Limite Inferior (L.I)= ",L.I," Limite Superior(L.S)= ",L.S ))
## [1] "Limite Inferior (L.I)=  48.75  Limite Superior(L.S)=  51.46"

Creación de funciones:

Con varianza conocida:

InvervaloVarConocida <- function(x,n,sdPoblacion,nvSig){
    ErrorEstimacion = qnorm(nvSig/2)*(sdPoblacion/sqrt(n))
    Li = round((x + ErrorEstimacion),2)   
    Ls = round((x - ErrorEstimacion),2)
    print(paste("LI= ",Li,"  ","LS=",Ls))
    
}

InvervaloVarConocida(media,75,sdDatos,0.05)
## [1] "LI=  48.75    LS= 51.46"

Con varianza desconocida:

InvervaloVarDesco <- function(x,n,sdMuestral,nvSig){
  ErrorEstimacion = qt(nvSig/2,n-1)*(sdMuestral/sqrt(n))
  Li = round((x + ErrorEstimacion),2)   
  Ls = round((x - ErrorEstimacion),2)
  print(paste("LI= ",Li,"   ","LS=",Ls))
  
}

InvervaloVarDesco(media,75,sdDatos,0.05)
## [1] "LI=  48.73     LS= 51.48"