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
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)