set.seed(123)
#Capacidad Retención de agua
cra = c(
rnorm(n = 60, mean = 2.8, sd = 0.2),
rnorm(n = 60, mean = 3.0, sd = 0.2)
)
gel= gl(n = 2, k = 60, length = 120, labels = c('gel1','gel2'))
# Solubilidad
solub = c(
rnorm(n = 60, mean = 6, sd = 0.4),
rnorm(n = 60, mean = 7, sd = 0.35)
)
#install.packages(DT)
#library(DT)
df1 = data.frame(gel, cra, solub)
df1
## gel cra solub
## 1 gel1 2.687905 6.047059
## 2 gel1 2.753965 5.621010
## 3 gel1 3.111742 5.803777
## 4 gel1 2.814102 5.897563
## 5 gel1 2.825858 6.737545
## 6 gel1 3.143013 5.739220
## 7 gel1 2.892183 6.094155
## 8 gel1 2.546988 6.031184
## 9 gel1 2.662629 5.615257
## 10 gel1 2.710868 5.971477
## 11 gel1 3.044816 6.577820
## 12 gel1 2.871963 6.180602
## 13 gel1 2.880154 6.016493
## 14 gel1 2.822137 5.831001
## 15 gel1 2.688832 5.178701
## 16 gel1 3.157383 6.452535
## 17 gel1 2.899570 5.415744
## 18 gel1 2.406677 6.295979
## 19 gel1 2.940271 6.763641
## 20 gel1 2.705442 5.422443
## 21 gel1 2.586435 6.280714
## 22 gel1 2.756405 5.895121
## 23 gel1 2.594799 5.371142
## 24 gel1 2.654222 5.394133
## 25 gel1 2.674992 5.359386
## 26 gel1 2.462661 5.787637
## 27 gel1 2.967557 5.415298
## 28 gel1 2.830675 6.275167
## 29 gel1 2.572373 6.840044
## 30 gel1 3.050763 5.485188
## 31 gel1 2.885293 6.315096
## 32 gel1 2.740986 6.307617
## 33 gel1 2.979025 6.132881
## 34 gel1 2.975627 5.596649
## 35 gel1 2.964316 5.952219
## 36 gel1 2.937728 5.887842
## 37 gel1 2.910784 6.225196
## 38 gel1 2.787618 5.851024
## 39 gel1 2.738807 6.390789
## 40 gel1 2.723906 5.850168
## 41 gel1 2.661059 6.421085
## 42 gel1 2.758417 5.580329
## 43 gel1 2.546921 5.495938
## 44 gel1 3.233791 7.296416
## 45 gel1 3.041592 5.833257
## 46 gel1 2.575378 6.119291
## 47 gel1 2.719423 6.254628
## 48 gel1 2.706669 5.806488
## 49 gel1 2.955993 6.206745
## 50 gel1 2.783326 6.147586
## 51 gel1 2.850664 5.913848
## 52 gel1 2.794291 6.026117
## 53 gel1 2.791426 5.986373
## 54 gel1 3.073720 6.851381
## 55 gel1 2.754846 5.703466
## 56 gel1 3.103294 5.561601
## 57 gel1 2.490249 6.015115
## 58 gel1 2.916923 6.124192
## 59 gel1 2.824771 6.174609
## 60 gel1 2.843188 5.816654
## 61 gel2 3.075928 6.627836
## 62 gel2 2.899535 7.442115
## 63 gel2 2.933359 6.877622
## 64 gel2 2.796285 6.697070
## 65 gel2 2.785642 6.917302
## 66 gel2 3.060706 6.930988
## 67 gel2 3.089642 7.388472
## 68 gel2 3.010601 7.029658
## 69 gel2 3.184453 7.263919
## 70 gel2 3.410017 6.825248
## 71 gel2 2.901794 7.075056
## 72 gel2 2.538166 6.886360
## 73 gel2 3.201148 7.033104
## 74 gel2 2.858160 6.686623
## 75 gel2 2.862398 6.541219
## 76 gel2 3.205114 7.699025
## 77 gel2 2.943045 7.210248
## 78 gel2 2.755856 6.562055
## 79 gel2 3.036261 6.786092
## 80 gel2 2.972222 6.585082
## 81 gel2 3.001153 7.769584
## 82 gel2 3.077056 7.459345
## 83 gel2 2.925868 6.907199
## 84 gel2 3.128875 7.190118
## 85 gel2 2.955903 6.854981
## 86 gel2 3.066356 6.833314
## 87 gel2 3.219368 6.723989
## 88 gel2 3.087036 6.791884
## 89 gel2 2.934814 7.577818
## 90 gel2 3.229762 6.981090
## 91 gel2 3.198701 7.041736
## 92 gel2 3.109679 7.085291
## 93 gel2 3.047746 7.431367
## 94 gel2 2.874419 6.819378
## 95 gel2 3.272130 6.652622
## 96 gel2 2.879948 7.586494
## 97 gel2 3.437467 6.845593
## 98 gel2 3.306522 6.746927
## 99 gel2 2.952860 6.567304
## 100 gel2 2.794716 6.550349
## 101 gel2 2.857919 6.799109
## 102 gel2 3.051377 7.216295
## 103 gel2 2.950662 7.388447
## 104 gel2 2.930491 7.247656
## 105 gel2 2.809676 6.872720
## 106 gel2 2.990994 7.020912
## 107 gel2 2.843019 6.753391
## 108 gel2 2.666412 6.748974
## 109 gel2 2.923955 7.309628
## 110 gel2 3.183799 6.644543
## 111 gel2 2.884931 7.684353
## 112 gel2 3.121593 6.968388
## 113 gel2 2.676423 7.075089
## 114 gel2 2.988888 6.741515
## 115 gel2 3.103881 6.798964
## 116 gel2 3.060231 6.539044
## 117 gel2 3.021135 6.935976
## 118 gel2 2.871859 7.146644
## 119 gel2 2.830059 7.113507
## 120 gel2 2.795174 6.726462
library(ggplot2)
ggplot(df1)+
aes(gel, cra)+
geom_boxplot()
library(lattice)
bwplot(cra~gel,data=df1)
bwplot(solub~gel,data = df1)
ggplot(df1)+
aes(cra,fill=gel)+
geom_density(alpha=0.5)
ggplot(df1)+
aes(solub,fill=gel)+
geom_density(alpha=0.5)
\[H_0: \mu_{cra_{gel_1}} = \mu_{cra_{gel_2}}\] * Hipotesis 2
\[H_0: \mu_{solub_{gel_1}} = \mu_{solub_{gel_2}}\] * Hipotesis bivariada
\[H_0: \begin{bmatrix} \mu_{car}\\ \mu_{solub} \end{bmatrix}_{gel_1} = \begin{bmatrix} \mu_{car}\\ \mu_{solub} \end{bmatrix}_{gel_2}\]
plot(cra, solub, pch = 16)
cor(cra, solub, method = "pearson")
## [1] 0.4330473
cor(cra, solub, method = "spearman")
## [1] 0.450566
cra_sim=runif(n = 120,min = 3, max = 5)
hist(cra_sim)
abline(v=mean(cra_sim),lwd=3,col="red")
Los datos no deben ser normales, que es lo que dice la teoría de la normalidad. función fenomenal llamada replicate para simular repeticiones de experimentos
set.seed(123)
cra_sim = replicate(500, runif(120, 3, 5))
dim(cra_sim)
## [1] 120 500
cra_prom = colMeans(cra_sim)
hist(cra_prom, breaks = 30)
abline(v = c(cra_prom[1],
mean(cra_sim)),
lwd = 3, col=c('red', 'blue'))
Se cree que la curva va a ser normal, pero no lo es. Teorema de límite
central,dice que los datos serán normales vengan de donde vengan, pero
no es así, al probar normalidad de los datos.Porque los datos no tienden
a infinito
set.seed(123)
cra_sim = replicate(30, runif(120, 3, 5))
dim(cra_sim)
## [1] 120 30
cra_prom = colMeans(cra_sim)
Aquí se muestra que si se disminuye el número de repeticiones esto se aleja de la distribución normal.
hist(cra_prom, breaks = 30)
abline(v = c(cra_prom[1],
mean(cra_sim)),
lwd = 3, col=c('red', 'blue'))
set.seed(123)
cra_sim = replicate(10, runif(120, 3, 5))
dim(cra_sim)
## [1] 120 10
cra_prom = colMeans(cra_sim)
hist(cra_prom)
abline(v = c(cra_prom[1],
mean(cra_sim)),
lwd = 3, col=c('red', 'blue'))
set.seed(123)
cra_sim = replicate(5000, rbeta(120, 0.5, 0.5))
hist(cra_sim[,1])
cra_prom = colMeans(cra_sim)
hist(cra_prom, breaks = 30)
abline(v = c(cra_prom[1],
mean(cra_sim)),
lwd = 3, col=c('red', 'blue'))
Hoy en día hay técnicas para respetar la distribución que presenten los datos.Estadística tradicional vs moderna
Efecto borde, artículo donde se explica un fenómeno de agronomía. Construyams una estadística que evalúe si hay efecto borde. El efecto borde cambia los datos, sin borde se observan datos normales, Experimento con los trips, trips por unidad de área. Son trampas para insectos.
Simular
set.seed(123)
prev=round(runif(100,0,0.65))
table(prev)
## prev
## 0 1
## 76 24
barplot(table(prev))
Incidencia no es prevalencia, incidencia es por unidad de tiempo
prevalencia es la cantidad, en este caso un patógeno, variable
dicotómica en escala ordinaria. Laplace descubrió algo gracias a la
simulación.
set.seed(123)
prev_sim=replicate(500,round(runif(100,0,0.65)))
prev_med = colMeans(prev_sim)
hist(prev_med)
abline(v = c(mean(prev_sim[,1]),
mean(prev_sim)),
lwd = 3, col = c('red','blue'))
Aquí se observa que al hacer replicas, la prevalencia tiene distribución
normal, aquí hay 500 réplicas, 200 años antes se creó el análisis de
varianza. SE pueden tener prevalencias y variables dicotómicas.
#Prueba T Student para comparar varias medias, muestras de 2 geles
prueb1=t.test(cra~gel,data = df1)
#ifelse(prueb1$p.value<0.05,"Rechazo Ho","No Rechazo Ho")
ifelse(prueb1$p.value<0.025,"Rechazo Ho","No Rechazo Ho")
## [1] "Rechazo Ho"
t.test(cra~gel,data = df1)
##
## Welch Two Sample t-test
##
## data: cra by gel
## t = -5.4947, df = 117.89, p-value = 2.293e-07
## alternative hypothesis: true difference in means between group gel1 and group gel2 is not equal to 0
## 95 percent confidence interval:
## -0.2447761 -0.1150833
## sample estimates:
## mean in group gel1 mean in group gel2
## 2.813123 2.993053
El asunto del pValor y toda la estadística relacionada, artículo moviéndonos más allá del pvalor. No diga “Estadísticamente significativa” cuando se tiene algún dato del pvalor
tapply(df1$cra,df1$gel,var)
## gel1 gel2
## 0.03315139 0.03118628
var.test(cra~gel,df1)
##
## F test to compare two variances
##
## data: cra by gel
## F = 1.063, num df = 59, denom df = 59, p-value = 0.8152
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.6349631 1.7796225
## sample estimates:
## ratio of variances
## 1.063012
Corrección de Bonferroni, alfa debe ser del 0.025, debe ser ciertas las dos hipótesis se cumplan, la probabilidad de que ocurran dos eventos de forma independiente es la probabilidad de A y la de B.
\[H_0: \sigma^2_{cra_{gel_1}}=\sigma^2_{cra_{gel_2}}\] Se está dejando por fuera la solubilidad y es necsario incluirla
#Prueba T Student para comparar varias medias, muestras de 2 geles
prueb2=t.test(solub~gel,data = df1)
ifelse(prueb1$p.value<0.05,"Rechazo Ho","No Rechazo Ho")
## [1] "Rechazo Ho"
t.test(solub~gel,df1)
##
## Welch Two Sample t-test
##
## data: solub by gel
## t = -14.515, df = 110.05, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group gel1 and group gel2 is not equal to 0
## 95 percent confidence interval:
## -1.1284101 -0.8573052
## sample estimates:
## mean in group gel1 mean in group gel2
## 5.994027 6.986885
Hay que analizar varianzas, y covarianza ya hablamos de vectores. t2 . T2 de hotelling es la prueba de T Student para diversas variables. T2 de Hotelling, la ventaja es que tiene en cuenta la co-variación para analizar diversas variables. Desarrolló el gráfico T2. Permite una sola hipótesis, es robusto a la ausencia de normalidad, pero no es robusto a datos atípicos. Y desarrolló pruebas para esto, resetearse para analizar la formas con métodos multivariados.
#install.packages("Hotelling")
library(Hotelling)
## Loading required package: corpcor
split.data=split(df1[,c('cra','solub')],df1$gel)
x=split.data[[1]]
y=split.data[[2]]
hotelling.stat(x,y)
ht1= hotelling.stat(x,y,TRUE)
ht1
## $statistic
## [1] 241.9688
##
## $m
## [1] 0.4957627
##
## $df
## [1] 2 117
##
## $nx
## [1] 60
##
## $ny
## [1] 60
##
## $p
## [1] 2
Cuidado con el pvalor, maniqueo, tendencia a clasificar las cosas como bueno o malo, blanco o negro, rechazo de la hipótesis nula si o no dependiendo del p valor. Hay varias opciones, HOtelling tiene varias modalidades y queda un archivo en el Drive En estadística no se cumple transitoriedad.cuando se compara por pares tres datos se pueden encontrar cosas terribles. T1, T2 y T3, no se cumple transitividad. Muchas veces pensamos que si se cumple. 15 Errores comunes en el análisis estadístico De Enrique Darghan. Explicaciones abstrusas y verbosas, de difícil comprensión (abstruso), verbosas (abundante y copioso de palabras). Analisis univariantes en lugar de multivariantes, Anova en lugar de Manova Uso de comparaciones múltiples inadecuadas, buscar la mejor. Ausencia de repeticiones Facyores confundidos No reconocimiento de la naturaleza longitudinal del estudio. Todo lo descarga en el software, no por hacer en phyton está bien, Selección inadecuada de la prueba. 14 Gráficos inadecuados.Como hacer gráficos inadecuados, (tortas solo para cumpleaños). Hay razones para estratificar, las trampas por ejemplo dependiendo del tiempo de exposición cambian por el tipo de trampas que se coloquen, el pegante se pierde. Desconocimiento de la naturaleza estratificada de datos, artículo queda en Drive.