MODULO 3

Distribución Normal

x<-rnorm(5000,0.0,1)
x2<-seq(-4,4,length=200)
hist(x,breaks=30,freq=FALSE)
lines(x2,dnorm(x2,0,1),type="l")
abline(v=-1.96)
abline(v=1.96)

pnorm(1.96,0,1)    #probabilidad acumlativa
## [1] 0.9750021
qnorm(0.5,0,1)     #quantile
## [1] 0

Ho: media grupo_A <> media grupo_B Ha: media grupo_A = media grupo_B

grupo_A <- rnorm(30, mean = 75, sd = 10)
grupo_B <- rnorm(30, mean = 80, sd = 12)
resultado <- t.test(grupo_A, grupo_B,
                    alternative = "two.sided",
                    var.equal = FALSE)
print(resultado)
## 
##  Welch Two Sample t-test
## 
## data:  grupo_A and grupo_B
## t = -2.4066, df = 57.485, p-value = 0.01934
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -12.334275  -1.131699
## sample estimates:
## mean of x mean of y 
##  73.96525  80.69824
x<-seq(50,120,length=200)
plot(x,dnorm(x,75,5),type="l")
lines(x,dnorm(x,90,5))

qqnorm(grupo_B)
qqline(grupo_B)

Ho: no es normal Ha: es normal p_pvalue>0.05 se acepta Ha

shapiro.test(grupo_A)
## 
##  Shapiro-Wilk normality test
## 
## data:  grupo_A
## W = 0.93213, p-value = 0.05595

Prueba de ANOVA

parcela<-c("A","A","A","A","B","B","B","B","C","C","C","C")
datos<-c(rnorm(4,12,2),rnorm(4,25,2.3),rnorm(4,11,1.9))
df<-data.frame(parcela=parcela,datos=datos)
df$parcela<-factor(df$parcela)
df
##    parcela    datos
## 1        A 12.44785
## 2        A 15.36565
## 3        A 14.27664
## 4        A 14.63936
## 5        B 27.24827
## 6        B 17.53378
## 7        B 24.12938
## 8        B 24.77750
## 9        C 15.07251
## 10       C 11.19440
## 11       C 11.01686
## 12       C 10.34247

Ho: media1=media2=media3 Ha: por lo menos uno de los trat es diferente p_value>0.05

modelo<-aov(datos~parcela,data=df)
summary(modelo)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## parcela      2 297.55  148.78   19.12 0.000575 ***
## Residuals    9  70.04    7.78                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(datos~parcela,data=df)

url<-"https://sigpri.com/seminarioR/DatosModulo3.csv"
df2<-read.csv(url)
df2$Especie<-factor(df2$Especie)
df2$Tratamiento<-factor(df2$Tratamiento)
df2
##    Especie Tratamiento     Valor
## 1        A       trat1 6.7415120
## 2        A       trat1 1.5898228
## 3        A       trat1 7.3666530
## 4        A       trat1 5.3171126
## 5        A       trat1 1.3756336
## 6        A       trat1 4.7247241
## 7        A       trat2 3.6096438
## 8        A       trat2 1.0660475
## 9        A       trat2 9.9657925
## 10       A       trat2 9.5981954
## 11       A       trat2 0.4573696
## 12       A       trat2 4.8660935
## 13       A       trat3 3.4173670
## 14       A       trat3 2.3257174
## 15       A       trat3 0.2024711
## 16       A       trat3 7.8728936
## 17       A       trat3 1.3620005
## 18       A       trat3 8.9337429
## 19       B       trat1 3.2295988
## 20       B       trat1 5.8473325
## 21       B       trat1 8.2547306
## 22       B       trat1 6.3732184
## 23       B       trat1 7.0241692
## 24       B       trat1 5.2308266
## 25       B       trat2 4.0866511
## 26       B       trat2 4.3561235
## 27       B       trat2 8.7170661
## 28       B       trat2 6.5464608
## 29       B       trat2 0.3247144
## 30       B       trat2 0.5892915
## 31       B       trat3 9.6694802
## 32       B       trat3 5.5677655
## 33       B       trat3 2.7433846
## 34       B       trat3 7.3186340
## 35       B       trat3 3.4272121
## 36       B       trat3 0.9509871
modelo2<-aov(Valor~Especie*Tratamiento,data=df2)
summary(modelo2)
##                     Df Sum Sq Mean Sq F value Pr(>F)
## Especie              1   2.49   2.488   0.249  0.621
## Tratamiento          2   4.59   2.297   0.230  0.796
## Especie:Tratamiento  2   8.65   4.323   0.433  0.653
## Residuals           30 299.84   9.995
qqnorm(modelo2$residuals)
qqline(modelo2$residuals,col="blue",lwd=3)

shapiro.test(modelo2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo2$residuals
## W = 0.94173, p-value = 0.05752
TukeyHSD(modelo2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Valor ~ Especie * Tratamiento, data = df2)
## 
## $Especie
##          diff       lwr      upr    p adj
## B-A 0.5258252 -1.626335 2.677986 0.621435
## 
## $Tratamiento
##                    diff       lwr      upr     p adj
## trat2-trat1 -0.74099040 -3.922779 2.440798 0.8348484
## trat3-trat1 -0.77363988 -3.955429 2.408149 0.8214834
## trat3-trat2 -0.03264948 -3.214438 3.149139 0.9996472
## 
## $`Especie:Tratamiento`
##                        diff       lwr      upr     p adj
## B:trat1-A:trat1  1.47406966 -4.077591 7.025730 0.9638858
## A:trat2-A:trat1  0.40794732 -5.143713 5.959608 0.9999148
## B:trat2-A:trat1 -0.41585846 -5.967519 5.135802 0.9999063
## A:trat3-A:trat1 -0.50021096 -6.051871 5.051450 0.9997675
## B:trat3-A:trat1  0.42700086 -5.124660 5.978661 0.9998932
## A:trat2-B:trat1 -1.06612235 -6.617783 4.485538 0.9913587
## B:trat2-B:trat1 -1.88992812 -7.441589 3.661732 0.9021165
## A:trat3-B:trat1 -1.97428062 -7.525941 3.577380 0.8848057
## B:trat3-B:trat1 -1.04706881 -6.598729 4.504592 0.9920442
## B:trat2-A:trat2 -0.82380578 -6.375466 4.727855 0.9974052
## A:trat3-A:trat2 -0.90815827 -6.459819 4.643502 0.9958906
## B:trat3-A:trat2  0.01905354 -5.532607 5.570714 1.0000000
## A:trat3-B:trat2 -0.08435250 -5.636013 5.467308 1.0000000
## B:trat3-B:trat2  0.84285932 -4.708801 6.394520 0.9971084
## B:trat3-A:trat3  0.92721181 -4.624449 6.478872 0.9954711
boxplot(Valor~Especie+Tratamiento,data=df2)

Especie<-rep(c("A","B"),each=18)
Tratamiento<-rep(rep(c("Trat1","Trat2","Trat3"),each=6),2)
Tratamiento
##  [1] "Trat1" "Trat1" "Trat1" "Trat1" "Trat1" "Trat1" "Trat2" "Trat2" "Trat2"
## [10] "Trat2" "Trat2" "Trat2" "Trat3" "Trat3" "Trat3" "Trat3" "Trat3" "Trat3"
## [19] "Trat1" "Trat1" "Trat1" "Trat1" "Trat1" "Trat1" "Trat2" "Trat2" "Trat2"
## [28] "Trat2" "Trat2" "Trat2" "Trat3" "Trat3" "Trat3" "Trat3" "Trat3" "Trat3"
Valor<-c(rnorm(6,5,0.9),rnorm(6,8,0.9),rnorm(6,4,0.9),rnorm(6,7,0.9),rnorm(6,5,0.9),rnorm(6,5.8,0.9))
df3<-data.frame(Especie=Especie,Tratamiento=Tratamiento,Valor=Valor)
boxplot(Valor~Especie+Tratamiento,data=df3)