Capítulo 9 Práctica 5

9.1 Iniciamos la interfaz gráfica

install.packages("Rcmdr")
library(Rcmdr)

9.2 Intervalo de cofianza

\(X /leadsto N(/mu, /sigma)\) \(/mu: /overline{X} /pm z_{/alpha/2} /cdot /frac{/alpha}{/sqrt{n}}\)

alpha<- .05 # nivel de confianza
fsd <- 18 # sd
n <- nrow(Framingham) # tamaño muestral
media <- mean(Framingham$FRW, na.rm = T)
cuantil <- qnorm(1-alpha/2) # valor tipificada a ña normal que deja a la dcha alpha

# calcular intervalo de confianza para esa población
lim_inf <- round(media - cuantil*fsd/sqrt(n), 3)
lim_sup <- round(media + cuantil*fsd/sqrt(n), 3)

# Nurstro intervalo de confianza para la media de población:
# el 95% de las veces acierto (va a contener el verdadero valor del parámetro)
c(lim_inf, lim_sup)
## [1] 104.518 106.400

9.3 Desviación T-destudent

# cuasi desviaión típica
# a mayor n, t se acerca a distribución normal
## RCMDR 
# with(Framingham, (t.test(FRW, 
# Rcmdr+    alternative='two.sided', mu=0.0, conf.level=.95)))

## RCMDR LOG
# data:  FRW
# t = 220.06, df = 1394, p-value < 2.2e-16
# alternative hypothesis: true mean is not equal to 0
# 95 percent confidence interval:
#  104.5187 106.3989
# sample estimates:
# mean of x 
#  105.4588 

9.3.1 Ej.: Intervalo de confianza en DBP

alpha<- .01 # nivel de confianza
fsd <- sqrt(200) # sd
n <- nrow(Framingham) # tamaño muestral
media <- mean(Framingham$DBP, na.rm = T)
cuantil <- qnorm(1-alpha/2)
lim_inf <- round(media - cuantil*fsd/sqrt(n), 3)
lim_sup <- round(media + cuantil*fsd/sqrt(n), 3)

c(lim_inf, lim_sup)
## [1] 89.176 91.119

9.4 ej 2

## RCMDR 
# Rcmdr>  with(Framingham, (t.test(DBP, 
# Rcmdr+    alternative='two.sided', mu=0.0, conf.level=.95)))

## RCMDR LOG
#   One Sample t-test
#
# data:  DBP
# t = 237.85, df = 1405, p-value < 2.2e-16
# alternative hypothesis: true mean is not equal to 0
# 95 percent confidence interval:
# 89.40444 90.89144
# sample estimates:
# mean of x 
# 90.14794 

9.5 Test de proporciones para una muestra

# Esta>prop>Test 1 muestra [hip p = .5]

# Frequency counts (test is for first level):
# SEX
# Hombre  Mujer 
#   669    737 

#   1-sample proportions test without continuity
#   correction

# data:  rbind(.Table), null probability 0.5
# X-squared = 3.2888, df = 1, p-value = 0.06976
# alternative hypothesis: true p is not equal to 0.5
# 95 percent confidence interval:
#  0.4498147 0.5019529
# sample estimates:
#        p 
# 0.4758179 

9.5.1 ej.: CHOL2

# Esta>prop>Test 1 muestra [xonf = .5]

# RCMDR OUTPUT
# Frequency counts (test is for first level):
# CHOL2
# Hipercolesterolemia Normocolesterolemia 
#                1081                 325 
# 
#   1-sample proportions test without continuity
#   correction
# 
# data:  rbind(.Table), null probability 0.5
# X-squared = 406.5, df = 1, p-value < 2.2e-16
# alternative hypothesis: true p is not equal to 0.5
# 90 percent confidence interval:
#  0.7498492 0.7868137
# sample estimates:
#         p 
# 0.7688478 

9.6 ej.: Calcular para hipercolesterolemia (hay que reordenar)

# datos>modificar>reordernar niveles

# Rcmdr>  local({
# Rcmdr+    .Table <- xtabs(~ CHOL2 , data= Framingham )
# Rcmdr+    
# Rcmdr+    cat("/nFrequency counts (test is for first level):/n")
# Rcmdr+    print(.Table)
# Rcmdr+    prop.test(rbind(.Table), alternative='two.sided', 
# Rcmdr+    p=.5, conf.level=.90, correct=FALSE)
# Rcmdr+  })
# 
# Frequency counts (test is for first level):
# CHOL2
# Normocolesterolemia Hipercolesterolemia 
#                 325                1081 
# 
#   1-sample proportions test without continuity
#   correction
# 
# data:  rbind(.Table), null probability 0.5
# X-squared = 406.5, df = 1, p-value < 2.2e-16
# alternative hypothesis: true p is not equal to 0.5
# 90 percent confidence interval:
#  0.2131863 0.2501508
# sample estimates:
#         p 
# 0.2311522 

9.7 Salimos y guardamos

Al no cerrar la consola, el paquete Rcmdr (la GUI) sigue cargado, por lo que simplemente tenemos que llamar a Commander() para crear una nueva ventana.

Commander()

9.8 Muesta

Dist>continua>normal>muestra de normal

# Rcmdr>  Normal01 <- as.data.frame(matrix(rnorm(100*30, 
# Rcmdr+    mean=75, sd=11), ncol=30))
# 
# Rcmdr>  rownames(Normal01) <- paste("sample", 1:100, sep="")
# 
# Rcmdr>  colnames(Normal01) <- paste("obs", 1:30, sep="")
# 
# Rcmdr>  Normal01 <- within(Normal01, {
# Rcmdr+    mean <- rowMeans(Normal01[,1:30])
# Rcmdr+    sd <- apply(Normal01[,1:30], 1, sd)
# Rcmdr+  })
# RcmdrMsg: [3] NOTA: El conjunto de datos Normal01 tiene 100
# RcmdrMsg+ filas y 32 columnas.

9.9 Representación gráfica

graf>hist [mean]

# Rcmdr>  with(Normal01, Hist(mean, scale="frequency", 
# Rcmdr+    breaks="Sturges", col="darkgray"))

9.10 Resumir

Estadisticos>resumen>resumen numerico

# Rcmdr>  with(Normal01, Hist(mean, scale="frequency", 
# Rcmdr+    breaks="Sturges", col="darkgray"))
# 
# Rcmdr>  library(abind, pos=17)
# 
# Rcmdr>  library(e1071, pos=18)
# 
# Rcmdr>  numSummary(Normal01[,"mean", drop=FALSE], 
# Rcmdr+    statistics=c("mean", "sd", "IQR", "quantiles"), 
# Rcmdr+    quantiles=c(0,.25,.5,.75,1))
#      mean       sd      IQR       0%      25%      50%
#  75.11098 2.175502 2.358741 70.63716 73.76057 75.05243
#       75%     100%   n
#  76.11931 80.66785 100

9.11 Reutiliza codigo

alpha<- .05 # nivel de confianza
fsd <- 11 # sd
n <- ncol(Normal01) - 2 # tamaño muestral (75)
#                     ^ filas de mean y sd   
cuantil <- qnorm(1-alpha/2) # valor tipificada a ña normal que deja a la dcha alpha

# calcular intervalo de confianza para esa población
Normal01$lim_inf <- round(Normal01$mean - cuantil*fsd/sqrt(n), 3)
Normal01$lim_sup <- round(Normal01$mean + cuantil*fsd/sqrt(n), 3)

9.12 Amplitud de intervalos

diferencia entre límite superior e inferior

Normal01$diff <- Normal01$lim_sup-Normal01$lim_inf

9.13 Creamos Normal02 incluyendo más datos

Comparamos gráficas

9.14 Comparamos datos

Estadistico > resumen numericos [mean]

# Rcmdr>  numSummary(Normal02[,"mean", drop=FALSE], 
# Rcmdr+    statistics=c("mean", "sd", "IQR", "quantiles"), 
# Rcmdr+    quantiles=c(0,.25,.5,.75,1))
#      mean        sd       IQR       0%      25%      50%
#  75.01775 0.3668131 0.5178061 74.12818 74.77113 75.01862
#       75%     100%   n
#  75.28894 75.88728 100
n2 <- ncol(Normal02)-2
Normal02$lim_inf <- round(Normal02$mean - cuantil*fsd/sqrt(n2), 3)
Normal02$lim_sup <- round(Normal02$mean + cuantil*fsd/sqrt(n2), 3)

9.15 Para fusionar salidas

copy-paste

9.16 Y nos vamos a por el bús

rm(list=ls())