Simularemos una data de 1000 casos con las siguientes variables: PBI, IDH, DEM y ECON.
Se puede observar dos variables numéricas, una variable categórica y una dicotómica.
set.seed(123)
data<-data.frame(
"pbi" = rnorm(1000, mean=5, sd=.7),
"idh" = rnorm(1000, mean=21, sd=5),
"dem" = as.character(rbinom(1000,5,0.7)),
"econ"= as.character(rbinom(1000,1,0.5))
)
mean(data$pbi)
## [1] 5.01129
mean(data$idh)
## [1] 21.21233
#install.packages("memisc")
library(memisc)
## Loading required package: lattice
## Loading required package: MASS
##
## Attaching package: 'memisc'
## The following objects are masked from 'package:stats':
##
## contr.sum, contr.treatment, contrasts
## The following object is masked from 'package:base':
##
## as.array
codebook(data)
## ================================================================================
##
## pbi
##
## --------------------------------------------------------------------------------
##
## Storage mode: double
##
## Min: 3.033
## Max: 7.269
## Mean: 5.011
## Std.Dev.: 0.694
## Skewness: 0.065
## Kurtosis: -0.074
##
## ================================================================================
##
## idh
##
## --------------------------------------------------------------------------------
##
## Storage mode: double
##
## Min: 5.761
## Max: 37.952
## Mean: 21.212
## Std.Dev.: 5.046
## Skewness: -0.011
## Kurtosis: -0.066
##
## ================================================================================
##
## dem
##
## --------------------------------------------------------------------------------
##
## Storage mode: character
##
## tab: NULL
## descr: c("\"0\"", "\"5\"")
##
## ================================================================================
##
## econ
##
## --------------------------------------------------------------------------------
##
## Storage mode: character
##
## tab: NULL
## descr: c("\"0\"", "\"1\"")
#describe(data)
Two sided = dos lados de la distribución
H0= El valor de prueba (valor cero) es igual a la media en la población.
P>0.05 - No significativo, acepta la H0 P<0.05 - Significativo, rechaza la H0
t.test(data$idh, alternative="two.sided", conf.level = 0.95)
##
## One Sample t-test
##
## data: data$idh
## t = 132.87, df = 999, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 20.89905 21.52560
## sample estimates:
## mean of x
## 21.21233
Conclusión: Rechazamos la hipótesis nula, por lo tanto la media no es igual a cero.
¿Podemos afirmar que la media de la población es igual a 22?
H0= El valor de la media es igual a 22
P>0.05 - No significativo, acepta la H0 P<0.05 - Significativo, rechaza la H0
t.test(data$idh, alternative="two.sided", conf.level = 0.95, mu=22)
##
## One Sample t-test
##
## data: data$idh
## t = -4.934, df = 999, p-value = 9.435e-07
## alternative hypothesis: true mean is not equal to 22
## 95 percent confidence interval:
## 20.89905 21.52560
## sample estimates:
## mean of x
## 21.21233
Conclusión: Observando el valor del P-value se rechaza la Hipótesis nula, por lo tanto el valor de la media no es igual a 25
Preguntamos por la proporción de una variable a un determinado nivel.
A partir de la muestra, es posible afirmar que: ¿La proporción de categoría 0 es mayor a la categoría 1 en la población?
#H0: Proporción de categoría 0 es igual al 50%
tabla<-table(data$econ)
tabla
##
## 0 1
## 507 493
binom.test(507,1000, 0.5, conf.level = 0.95)
##
## Exact binomial test
##
## data: 507 and 1000
## number of successes = 507, number of trials = 1000, p-value = 0.681
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.4755315 0.5384271
## sample estimates:
## probability of success
## 0.507
Conclusión: Se acepta la H0, por lo tanto la proporción de 0 es igual al 50% y en 1 también.
En el caso que quiera aplicar otras proporciones, es necesario cambiar el tercer argumento por la proporción deseada.
Ejemplo:
A partir de la muestra, ¿ Podemos afirmar que la categoría 0, representa al 40% de la población?
binom.test(507,1000, 0.3, conf.level = 0.95)
##
## Exact binomial test
##
## data: 507 and 1000
## number of successes = 507, number of trials = 1000, p-value < 2.2e-16
## alternative hypothesis: true probability of success is not equal to 0.3
## 95 percent confidence interval:
## 0.4755315 0.5384271
## sample estimates:
## probability of success
## 0.507
Comprueba si la distribución observada es igual a la distribución teórica (uniforme).
#H0: La distribución es uniforme (todas las categorías son iguales)
tabla1<-table(data$dem) #asume proporciones similares.
chisq.test(tabla1)
##
## Chi-squared test for given probabilities
##
## data: tabla1
## X-squared = 693.37, df = 5, p-value < 2.2e-16
#Conclusión: se rechaza la H0 de que la variable tenga una distribución uniforme.
Definiendo otras proporciones en la distribución
#Creando una variable de nombre dem2:
data$dem2[data$dem == "0" ] <- 1
data$dem2[data$dem == "1" ] <- 1
data$dem2[data$dem == "2" ] <- 1
data$dem2[data$dem == "5" ] <- 1
data$dem2[data$dem == "3" ] <- 2
data$dem2[data$dem == "4" ] <- 3
tabla2<-table(data$dem2)
#H0: La variable tiene la siguiente distribución de un 1/3 para cada categoría:
res <- chisq.test(tabla2, p = c(1/3, 1/3,1/3))
res
##
## Chi-squared test for given probabilities
##
## data: tabla2
## X-squared = 4.298, df = 2, p-value = 0.1166
#Conclusión: Se acepta la Ho, por lo tanto, la variable Dem2 tiene una distribución de 1/3 para cada categoría.
Hipótesis:
H0: La muestra proviene de una distribución normal H1: La muestra no proviene de una distribución normal
Nivel de significancia:
Si P< Alfa se rechaza H0 Si P>= Alfa no se rechaza H0
shapiro.test(data$pbi)
##
## Shapiro-Wilk normality test
##
## data: data$pbi
## W = 0.99838, p-value = 0.4765
#install.packages("nortest")
library(nortest)
lillie.test(data$pbi)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: data$pbi
## D = 0.014963, p-value = 0.8484
ad.test(data$pbi)
##
## Anderson-Darling normality test
##
## data: data$pbi
## A = 0.29653, p-value = 0.592
sf.test(data$pbi)
##
## Shapiro-Francia normality test
##
## data: data$pbi
## W = 0.99867, p-value = 0.6031