# Grafica de la función de densidad de la distribución de probabilidad
grafico_densidad = ggplot(data = data.frame(x = c(70,130)), aes(x)) +
stat_function(fun = dnorm, n = 20, args = list(mean =100, sd = 8)) + ylab("") +
scale_y_continuous(breaks = NULL) + xlab("Peso") + ylab("Densidad") + ggtitle("Función de densidad (distribución normal)") + theme_bw() +
geom_vline(xintercept = 100,cex=1.2,colour ="darkred",linetype="longdash") + geom_text(aes(x=103, label="xbar", y=0.0), colour ="darkred",size=5) + geom_vline(xintercept = 90,cex=1.2,colour ="coral3",linetype="longdash") + geom_text(aes(x=93, label="mu", y=0.00001), colour ="coral3",size=5)
grafico_densidad
La hipótesis nula corresponde a: \[ H_0 : μ_0 > 90 kilos\]
# Aplicamos la normalización para calcular z en una prueba de una cola.
muestra=rep(100,20)
x_bar=mean(muestra)
# Tamaño muestra
n = 20
# Media
mu=90
# Desviación
sigma=8
z=z.test(muestra,mu=mu,sigma.x= sigma,conf.level =0.95,alternative="less")
z
##
## One-sample z-Test
##
## data: muestra
## z = 5.5902, p-value = 1
## alternative hypothesis: true mean is less than 90
## 95 percent confidence interval:
## NA 102.9424
## sample estimates:
## mean of x
## 100
El valor de z es 5.9502 y p-value es 1. Por lo que se rechaza la hipótesis nula.
Esto puede ser graficado como:
# Grafica de la función de densidad de la distribución de probabilidad
grafico_densidad = ggplot(data = data.frame(x = c(20,60)), aes(x)) +
stat_function(fun = dnorm, n = 20, args = list(mean =41, sd = 5)) + ylab("") +
scale_y_continuous(breaks = NULL) + xlab("Años") + ylab("Densidad") + ggtitle("Función de densidad (distribución normal)") + theme_bw() +
geom_vline(xintercept = 41,cex=1.2,colour ="darkred",linetype="longdash") + geom_text(aes(x=43, label="xbar", y=0.0), colour ="darkred",size=5) + geom_vline(xintercept = 38,cex=1.2,colour ="coral3",linetype="longdash") + geom_text(aes(x=39, label="mu", y=0.00001), colour ="coral3",size=5)
grafico_densidad
La hipótesis nula corresponde a: \[ H_0 : μ_0
= 38 años\]
# Aplicamos la normalización para calcular z en una prueba de una cola.
x_bar=41
mu=38
sigma=15
n=25
set.seed(3)
muestra=rnorm(n,mean=x_bar,sigma)
t=t.test(muestra,mu=mu,conf.level=0.95,alternative="less")
print(t)
##
## One Sample t-test
##
## data: muestra
## t = -0.57344, df = 24, p-value = 0.2858
## alternative hypothesis: true mean is less than 38
## 95 percent confidence interval:
## -Inf 40.64116
## sample estimates:
## mean of x
## 36.66845
Esto puede ser graficado como:
# Gráfico de densidad
grafico_densidad = ggplot(data = data.frame(x = c(0, 0.6)), aes(x)) +
stat_function(fun = dchisq, n = 20, args = list(x =15, df = 19)) + ylab("") +
scale_y_continuous(breaks = NULL) + xlab("Calidad") + ylab("Densidad") + ggtitle("Función de densidad") + theme_bw() +
geom_vline(xintercept = 0.35,cex=1.2,colour ="darkred") + geom_text(aes(x=0.37, label="S^2", y=0.0), colour ="darkred",size=5)
grafico_densidad
La hipótesis nula corresponde a: \[ H_0 :{\sigma^2} <= 0.3 \]
Aplicando la normalización para calcular chi bajo:
#Datos
sigma2=0.35
n = 20
s2=0.3
#Normalización
chi_n = (n-1)*s2/(sigma2)
chi_n
## [1] 16.28571
#Confianza
alfa = 0.05
confianza = 1-alfa
alfa = alfa/2 # dos colas
chi_alfa = qchisq(alfa,df = n-1,lower.tail = F) #Lower.tail se relaciona con <= de la hipótesis nula.
chi_alfa
## [1] 32.85233
#Creación de muestra artificial
set.seed(10)
datos=rnorm(20,sqrt(s2),n=n)
#Aplicación de test
chi = varTest(datos,sigma.squared=sigma2,alternative="greater")
print(chi)
##
## Results of Hypothesis Test
## --------------------------
##
## Null Hypothesis: variance = 0.35
##
## Alternative Hypothesis: True variance is greater than 0.35
##
## Test Name: Chi-Squared Test on Variance
##
## Estimated Parameter(s): variance = 0.1919565
##
## Data: datos
##
## Test Statistic: Chi-Squared = 10.42049
##
## Test Statistic Parameter: df = 19
##
## P-value: 0.9417994
##
## 95% Confidence Interval: LCL = 0.1209936
## UCL = Inf
Se obtiene que el intervalo de confianza es de [-32.85233 ; 32.85233] y el valor de chi obtenido es 16.28571, entonces como se encuentra dentro del intervalo, no se puede rechazar la hipótesis nula.
set.seed (23)
iris <- iris [ sample ( nrow (iris), size = 80 ),]
setosa = length(iris$Species[iris$Species == "setosa"])
versicolor = length(iris$Species[iris$Species == "versicolor"])
virginica = length(iris$Species[iris$Species == "virginica"])
especies = c(setosa, versicolor, virginica)
res = chisq.test(especies, p = c(1/2, 1/3, 1/6))
res
##
## Chi-squared test for given probabilities
##
## data: especies
## X-squared = 18.913, df = 2, p-value = 7.82e-05
Finalmente, si existe una diferencia entre las proporciones observadas respecto a las esperadas.
X=123
pbar= 123/180
p0=0.5
n=180
print(prop.test(X, n, p=p0, correct=FALSE))
##
## 1-sample proportions test without continuity correction
##
## data: X out of n, null probability p0
## X-squared = 24.2, df = 1, p-value = 8.683e-07
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.612151 0.746854
## sample estimates:
## p
## 0.6833333
print(binom.test(16,35))
##
## Exact binomial test
##
## data: 16 and 35
## number of successes = 16, number of trials = 35, p-value = 0.7359
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.2882714 0.6335420
## sample estimates:
## probability of success
## 0.4571429
notas = c(2.3, 4.5, 7.0, 3.5, 1.7, 6.7, 5.8, 5.9, 3.9, 4.6, 6.8, 2.7)
res <- wilcox.test(notas, mu = 0.5,conf.int=0.95)
res
##
## Wilcoxon signed rank exact test
##
## data: notas
## V = 78, p-value = 0.0004883
## alternative hypothesis: true location is not equal to 0.5
## 95 percent confidence interval:
## 3.30 5.85
## sample estimates:
## (pseudo)median
## 4.625