## Loading required package: lattice
##
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
##
## Orange
##
## Attaching package: 'EnvStats'
## The following objects are masked from 'package:stats':
##
## predict, predict.lm
## The following object is masked from 'package:base':
##
## print.default
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
Ejercicio: Un fabricante requiere para sus prendas de vestir que la fibra de algodón tenga una resistencia media a la tension de 6.5 onzas y una desviación de 0.25 de onzas. Se muestrea un lote de 16 fardos de algodón encontrando en ellos un promedio de 6.75 onzas. Utilizar un nivel de significancia del 5% para ver si existe evidencia de que este lote es de resistencia mayor a la requerida
x = seq(5.5, 7.5, 0.01)
grafico = ggplot(data = data.frame(x), aes(x)) + stat_function(fun = dnorm, n = 100, args = list(mean =6.5, sd = 0.25)) + geom_vline(xintercept = 6.5,colour ="blue",linetype="solid") + geom_vline(xintercept = 6.75,colour ="red",linetype="longdash")+ xlab("Resistencia") + ylab("Densidad")
grafico
Con esto se puede ver que el p-value es menor al nivel de significancia, pero de igual manera
ahora se hará el cálculo:
mu = 6.5
mu_pro = 6.75
desviacion = 0.25
n = 16
alpha = 0.05
#normalizacion
z = (mu_pro - mu)/ (desviacion/sqrt(n))
#Confianza
z_alpha = qnorm(1-alpha)
## El valor de z es: 4
## el valor de z relacionado al nivel de confianza es de : 1.644854
muestra=rep(6.75,16)
x_bar=mean(muestra)
mu=6.5
sigma=0.25
resultado=z.test(muestra,mu=mu,sigma.x=
sigma,conf.level =
0.95, alternative="less")
resultado
##
## One-sample z-Test
##
## data: muestra
## z = 4, p-value = 1
## alternative hypothesis: true mean is less than 6.5
## 95 percent confidence interval:
## NA 6.852803
## sample estimates:
## mean of x
## 6.75
dnorm_limit <- function(x) {
y <- dnorm(x)
y[x < z_alpha] <- NA
return(y)
}
grafico_densidad = ggplot(data.frame(x = c(-5, 5)), aes(x = x)) +
stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.1) + stat_function(fun = dnorm) +
xlab("Resistencia") + ylab("Densidad") + ggtitle("Función de densidad") +
theme_bw() + geom_vline(xintercept = (mu_pro-mu)/(sigma/sqrt(n)),colour ="purple")
plot(grafico_densidad)
x = seq(45, 55, 0.1)
grafico = ggplot(data = data.frame(x), aes(x)) + stat_function(fun = dnorm, n = 100, args = list(mean =50.1, sd = sqrt(1.2))) + geom_vline(xintercept = 50.1,colour ="blue",linetype="solid") + geom_vline(xintercept = 49.4,colour ="red",linetype="longdash")+ xlab("Resistencia") + ylab("Densidad")
grafico
se aplica ahora la normalización:
x_barra = 49.4
mu = 50.1
desviacion = sqrt(1.2)
n = 15
t = (x_barra -mu)/(desviacion/sqrt(n))
alpha = 0.05
t_alpha = qt(1-alpha, df = n-1)
## El valor de t es: -2.474874
## el valor de t relacionado al nivel de confianza es de : 1.76131
datos = rnorm(n,x_barra, desviacion)
#Aplicación de test
t = t.test(x=datos,mu=mu,conf.level = 1-alpha, lower.tail = F)
print(t)
##
## One Sample t-test
##
## data: datos
## t = -2.7035, df = 14, p-value = 0.01714
## alternative hypothesis: true mean is not equal to 50.1
## 95 percent confidence interval:
## 48.87971 49.95937
## sample estimates:
## mean of x
## 49.41954
dnorm_limit <- function(x) {
y <- dnorm(x)
y[x < -t_alpha] <- NA
return(y)
}
grafico_densidad = ggplot(data.frame(x = c(-3, 3)), aes(x = x)) +
stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.1) + stat_function(fun = dnorm) +
xlab("Resistencia") + ylab("Densidad") + ggtitle("Función de densidad") +
theme_bw() + geom_vline(xintercept = (x_barra-mu)/(desviacion/sqrt(n)),colour ="purple")
plot(grafico_densidad)
grafico_densidad = ggplot(data = data.frame(x = c(100, 200)), aes(x)) +
stat_function(fun = dchisq, n = 101, args = list(x =100, df = 29)) + ylab("") +
scale_y_continuous(breaks = NULL) + xlab("Puntaje") + ylab("Densidad") + ggtitle("Función de densidad") + theme_bw() +
geom_vline(xintercept = 162,cex=1.2,colour ="darkred") + geom_text(aes(x=162, label="S^2", y=0.0), colour ="darkred",size=5)
grafico_densidad
Ahora se aplica la normalización:
varianza = 100
n = 30
libertad = n -1
s = 162
chi = libertad* s/varianza
#Confianza
alfa = 0.05
confianza = 1-alfa
chi_alfa = qchisq(alfa,df = libertad) #Lower.tail se relaciona con <= de la hipótesis nula.
## El valor de chi es: 46.98
## El intervalo relacionado al nivel de confianza es de : -17.70837 , 17.70837
set.seed(20)
datos=rnorm(30,sqrt(s),n=n)
#Aplicación de test
chi = varTest(datos,sigma.squared= varianza)
print(chi)
##
## Results of Hypothesis Test
## --------------------------
##
## Null Hypothesis: variance = 100
##
## Alternative Hypothesis: True variance is not equal to 100
##
## Test Name: Chi-Squared Test on Variance
##
## Estimated Parameter(s): variance = 172.8793
##
## Data: datos
##
## Test Statistic: Chi-Squared = 50.135
##
## Test Statistic Parameter: df = 29
##
## P-value: 0.0174677
##
## 95% Confidence Interval: LCL = 109.6511
## UCL = 312.4246
datos = data.frame(iris)
tabla = table(select(datos, Species))
iris_reales = c(50, 50, 50)
x2_0 = (50-75)**2 / (75) + (50-50)**2 / (50) + (50-25)**2 / (25)
x2_0
## [1] 33.33333
dff = 3-1 # 3 debido a que son 3 tipos de iris
x2_2 = qchisq(0.05, df = dff, lower.tail = F)
x2_2
## [1] 5.991465
res = chisq.test(iris_reales, p = c(1/2, 1/3, 1/6))
res
##
## Chi-squared test for given probabilities
##
## data: iris_reales
## X-squared = 33.333, df = 2, p-value = 5.778e-08
Fijandonos en el valor de p, el cual es menor al valor de significancia, se puede decir que claramente existe una diferencia significativa entre las proporciones
prom = 44/124
X = 44
p0 = 0.4
n = 124
print(prop.test(X, n, p = p0, alt="greater", correct =FALSE))
##
## 1-sample proportions test without continuity correction
##
## data: X out of n, null probability p0
## X-squared = 1.0538, df = 1, p-value = 0.8477
## alternative hypothesis: true p is greater than 0.4
## 95 percent confidence interval:
## 0.2879533 1.0000000
## sample estimates:
## p
## 0.3548387
Con esto y viendo el p value se puede aceptar la hipotesís nula, es decir, la proporción de niños obesos permanece debajo del 40%
binom.test(9, 22)
##
## Exact binomial test
##
## data: 9 and 22
## number of successes = 9, number of trials = 22, p-value = 0.5235
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.2070931 0.6364530
## sample estimates:
## probability of success
## 0.4090909
Con un nivel de significancia de 0.05 y un p-value de 0.52 No se rechaza que los 2 ramos son igual de temidos por la comunidad de estudiantes de ing civil informática de la universidad de Santiago de Chile.
datos = select(datos, Petal.Length, Species)
datos_petalos = filter(datos, Species == "versicolor")
res <- wilcox.test(datos_petalos$Petal.Length, mu = 5.5,
conf.int=0.95)
res
##
## Wilcoxon signed rank test with continuity correction
##
## data: datos_petalos$Petal.Length
## V = 0, p-value = 7.56e-10
## alternative hypothesis: true location is not equal to 5.5
## 95 percent confidence interval:
## 4.149955 4.400006
## sample estimates:
## (pseudo)median
## 4.299989
Con un valor de p menor al 0.05 se puede decir que la mediana del largo de petalos del iris versicolor difiere del 5.5cm
Problema 1: https://www.youtube.com/watch?v=CwRMMV9Ha5w
Problema 2: https://www.youtube.com/watch?v=qq7kjphPjp0&t=513s
Problema 3: https://www.youtube.com/watch?v=ltlv6vwEoDc