You are on page 1of 18

Universidad Autónoma de Nuevo León

Facultad de Ciencias Biológicas

División de estudios posgrado

Conservación, fauna silvestre y sustentabilidad

Métodos Estadísticos Aplicados a Ecología y Conservación


1er Semestre

Evidencia de Aprendizaje
Laboratorio.6R:
Pruebas de Hipótesis

Presenta: Mayte Méndez Lozano


Nombre del Facilitador: Dra. Luz Adriana Pérez Solano
Fecha y lugar: 15 de noviembre 2022, Cuidad Universitaria, San Nicolás de los
Garzas
Métodos y Resultados

Library ( dplyr)

Library (DescTools)

#T de student para una media


#Compara la media de la muestra con la media poblacional
Basedato<-read.csv("Base de datos1.csv")
str(Basedato)

## 'data.frame': 518 obs. of 11 variables:


## $ Sitios : chr "S1" "S1" "S1" "S1" ...
## $ Especies : chr "Vachellia farnesiana" "Vachellia farnesi
ana" "Vachellia farnesiana" "Vachellia farnesiana" ...
## $ Familia : chr "Fabaceae" "Fabaceae" "Fabaceae" "Fabacea
e" ...
## $ Forma.de.vida : chr "Arbol" "Arbol" "Arbol" "Arbol" ...
## $ Altura..m. : num 16.3 19.4 13.11 15.42 8.45 ...
## $ Dominancia.absoluta: num 14.7 23.2 26.1 32 20.4 ...
## $ Dominancia.relativa: num 49.3 47 53.5 46.5 43.8 ...
## $ Dap : num 0.804 1.903 1.097 1.112 1.93 ...
## $ Frecuencia.relativa: num 0.0315 0.0343 0.0501 0.0665 0.0644 ...
## $ Densidad.relativa : num 0.0291 0.2737 0.12 0.1035 0.162 ...
## $ Cobertura.relativa : num 0.0291 0.2737 0.12 0.1035 0.162 ...

#Histograma de los datos

hist(Basedato$Dominancia.absoluta, main="Dominancia Absoluta", xlab="Domi


nancia absoluta", ylab="Frequencia", col="lightblue")
#Supuesto de normalidad
{qqnorm(Basedato$Dominancia.absoluta)
qqline(Basedato$Dominancia.absoluta)}
#Prueba de Shapiro Wilk (probar la normalidad)

shapiro.test(Basedato$Dominancia.absoluta)

##
## Shapiro-Wilk normality test
##
## data: Basedato$Dominancia.absoluta
## W = 0.99684, p-value = 0.4108

#Si hay normalidad, probando que los datos son normales con un valor de p
> 0.05

#T de student para una media

#Existe una diferencia en la media de dominancia absoluta , con respecto


a la media de las especies. Siendo la media de 25.5 m2
#Entonces la hipótesis alternativa (Ha) es que la media es diferente a 25
.5 m2

t.test(Basedato$Dominancia.absoluta,
mu = 25.5,
alternative = "two.sided")

##
## One Sample t-test
##
## data: Basedato$Dominancia.absoluta
## t = -3.7176, df = 517, p-value = 0.0002231
## alternative hypothesis: true mean is not equal to 25.5
## 95 percent confidence interval:
## 24.02652 25.04541
## sample estimates:
## mean of x
## 24.53597

#Hipótesis nula (Ho) es igual a la media


#La hipótesis Alternativa (Ha) es diferente de la media
# Entonces no se rechaza la hipótesis nula, por lo tanto, la media es dif
erente.

#Prueba de Wlcoxon para una mediana

#Analizamos la forma de vida, con la altura de las plantas.

#Hipótesis Alternativa (Ha), valores > a 3.5m, indican que la forma de vi


da será arbórea.
#Hipotesis Nula (No), valores < o = a 3.5m, indican que tendrán otra for
ma de vida.
{qqnorm(Basedato$Altura..m.)
qqline(Basedato$Altura..m.)}

#Hagamos la prueba de Shapiro Wilk para saber si se rechaza la hipotesis

shapiro.test(Basedato$Altura..m.)

##
## Shapiro-Wilk normality test
##
## data: Basedato$Altura..m.
## W = 0.80363, p-value < 2.2e-16

#La hipótesis nula se rechaza, pues el valor de p es < a 0.05

#Ahora hagamos para prueba con Wilcox.

wilcox.test(Basedato$Altura..m., mu=3.5, alternative ="greater")

##
## Wilcoxon signed rank test with continuity correction
##
## data: Basedato$Altura..m.
## V = 97720, p-value < 2.2e-16
## alternative hypothesis: true location is greater than 3.5
#El valor de p es < a 0.05 por lo tanto, se rechaza la hipótesis nula con
respecto a la media.
#Podemos inferir que no probabilidad de las alturas, con respecto a la me
dia no tiene una valor significativo. Rechzando la hipotesis Ho.

#T student para dos medias

# Comparar la dominancia absoluta entre las especies

#Comparemos los tamaños de las muestras

#Comparando los tamaños de muestra de las dominancias absolutas entre las


especies.
DomiSP<-Basedato%>%select(Dominancia.absoluta, Especies)
head(DomiSP)

## Dominancia.absoluta Especies
## 1 14.68391 Vachellia farnesiana
## 2 23.20236 Vachellia farnesiana
## 3 26.10827 Vachellia farnesiana
## 4 32.04719 Vachellia farnesiana
## 5 20.35964 Vachellia farnesiana
## 6 34.35016 Vachellia farnesiana

table(DomiSP$Especies)

##
## Baccharis glutinosum Bourvardia ternifolia Buddleja cordi
a
## 24 25 1
2
## Caesalpinia mexicana Carya illinoinensis Casimiroa greggi
i
## 33 19 2
9
## Celtis laevigata Chilopsis linearis Citrus sinensi
s
## 5 10
9
## Condalia hookeri Cordia boissieri Dyospiros palmer
i
## 17 17
5
## Ebenopsis ebano Ehretia anacua Fraxinus berlandierian
a
## 18 6 1
0
## Guitierrezia sarothrae Havardia pallens Juglans molli
s
## 12 28
8
## Lantana achyrantifolia Lantana camara Leucaena leucocephal
a
## 15 15
7
## Leucaena pulverulenta Melia azedarach Morus nigr
a
## 15 10 1
9
## Platanus occidentalis Platanus rzedowskii Populus mexican
a
## 11 5 1
5
## Populus wislizenii Porophyllum scoparium Prosopis laevigat
a
## 9 13 1
3
## Quercus virginiana Salix humboldtiana Salix nigr
a
## 11 6 1
1
## Sideroxylum lanuginoum Vachellia farnesiana Vallesia glabr
a
## 18 20 1
8

# Los Tamaños de muestra son diferentes.


#Tomamos las dos especies con mayor dominancia y se realizó los supuestos
de normalidad.

{par(mfrow=c(1,2))
hist(DomiSP[DomiSP$Especies=="Casimiroa greggii","Dominancia.absoluta"]
, main="Casimiroa greggii", xlab="Dominancia absoluta ", col="lightblue")
hist(DomiSP[DomiSP$Especies=="Havardia pallens","Dominancia.absoluta"],
main="Havardia pallens", xlab="Dominancia absoluta",col="lightblue")}
{par(mfrow=c(1,2))
qqnorm(DomiSP[DomiSP$Especies=="Casimiroa greggii","Dominancia.absoluta
"], main="Casimiroa greggii Normal Q-Q Polt")
qqline(DomiSP[DomiSP$Especies=="Casimiroa greggii","Dominancia.absoluta
"])
qqnorm(DomiSP[DomiSP$Especies=="Havardia pallens","Dominancia.absoluta"
], main="Havardia pallens Normal Q-Q Polt")
qqline(DomiSP[DomiSP$Especies=="Havardia pallens","Dominancia.absoluta"
])}
#Hipótesis nula, las muestras tiene una distribución normal.
#Hipótesis Alternativa si el valor de p <0.05 recahzamos la hipótesis nul
a.

#Hagamos la prueba de Shapiro Wilk para cada especie.

shapiro.test(DomiSP[DomiSP$Especies=="Casimiroa greggii","Dominancia.abso
luta"])

##
## Shapiro-Wilk normality test
##
## data: DomiSP[DomiSP$Especies == "Casimiroa greggii", "Dominancia.abso
luta"]
## W = 0.97638, p-value = 0.7401

shapiro.test(DomiSP[DomiSP$Especies=="Havardia pallens","Dominancia.absol
uta"])

##
## Shapiro-Wilk normality test
##
## data: DomiSP[DomiSP$Especies == "Havardia pallens", "Dominancia.absol
uta"]
## W = 0.94138, p-value = 0.1198
#Observamos que en ambas especies el valor de p es > a 0.05, tenemos no r
echazamos la hipótesis nula, esto nos dice que la distrubución no es norm
al para ambas especies.

#Ahora hagamos la homocedasticidad con la prueba Brown- Forsythe

LeveneTest(Dominancia.absoluta~Especies, data=DomiSP, center="median")

## Warning in LeveneTest.default(y = y, group = group, ...): group coerce


d to
## factor.

## Levene's Test for Homogeneity of Variance (center = "median")


## Df F value Pr(>F)
## group 35 0.5953 0.9694
## 482

#La hipótesis nulo, será = en dominancia, con respecto a la mediana de la


s especies.
#La hipótesis alternativa será diferentes en dominancia, con respecto a l
a mediana de las especies. # Observamos que el valor de p es >0.05, enton
ces, no se rechaza la hipótesis nula. Tiendo homogeniedad de la varianza.

#AAhora realizamos la Prueba t de student.

#Veamos si la Dominancia absoluta influye en las especies.


# La hipotesis nula es que no habrá diferencias.
#La hipótesis alternativa habrá diferencias.
#Cargamos la base de batos que solo corresponde a las dos especies con al
ta dominancia.

Basedatos1<-read.csv("BASEDATOS2.csv")

t.test(Dominancia.absoluta~Especies, alternative="two.sided", conf.levels


=.95, var.equal=T, data=Basedatos1)

##
## Two Sample t-test
##
## data: Dominancia.absoluta by Especies
## t = -0.17112, df = 32, p-value = 0.8652
## alternative hypothesis: true difference in means between group Casimir
oa greggii and group Havardia pallens is not equal to 0
## 95 percent confidence interval:
## -4.646428 3.926237
## sample estimates:
## mean in group Casimiroa greggii mean in group Havardia pallens
## 25.01764 25.37773
#Existen diferencia entre de la dominancia absoluta de las especies.

#El valor de p > 0.05(p=0.865), por lo tanto, no se rechaza la hipotesis


nula. Esto nos dice que no hay diferencias entre la dominancia absoluta d
e las dos especies.

#Prueba Mann Whitney


#Comparando la mediana de dos muestras independientes
#Comparemos la cobertura relativa entre la foma de vida.
#Hipótesis nula (Ho) las medianas de la cobertura relativa será igual ent
re las formas de vida.
#La hipótesis Alternativa será diferente las formas de vida

#Datos Normales

shapiro.test(Basedato[Basedato$Forma.de.vida=="Arbol","Cobertura.relativa
"])

##
## Shapiro-Wilk normality test
##
## data: Basedato[Basedato$Forma.de.vida == "Arbol", "Cobertura.relativa
"]
## W = 0.94384, p-value = 2.104e-08

shapiro.test(Basedato[Basedato$Forma.de.vida=="Arbusto","Cobertura.relati
va"])

##
## Shapiro-Wilk normality test
##
## data: Basedato[Basedato$Forma.de.vida == "Arbusto", "Cobertura.relati
va"]
## W = 0.9555, p-value = 3.913e-07

#En ambos casos los datos no son normales, tenemos un valor de p < a 0.05
para arboles y arbustos.

#Observemos los histogramas

{par(mfrow=c(1,2))
hist(Basedato[Basedato$Forma.de.vida=="Arbol","Cobertura.relativa"], ma
in="Cobertura de árbol", xlab="Forma de vida", col="lightblue")
hist(Basedato[Basedato$Forma.de.vida=="Arbusto","Cobertura.relativa"],m
ain="Cobertura de arbusto", xlab="Forma de vida",col="lightblue")}
#Prueba de Epps-Singleton está nos permite saber si tenemos distribucione
s iguales, creamos la función.

es.test <- function(x,y,tau=0.4,J=2,scalecor=TRUE) {


Tx <- length(x);
Ty <- length(y);
# Create the scale invariance correction for the t's
sorted <- sort(c(x,y));
if (scalecor) {
sigmahat <- 0.5*( (sorted[floor((Tx+Ty)*0.25)] + sorted[floor((Tx+Ty
)*0.25)+1])/2 + (sorted[floor((Tx+Ty)*0.75)] + sorted[floor((Tx+Ty)*0.75)
-1])/2 );
that <- (1:J)*tau/sigmahat;
} else that <- (1:J)*tau;
# Create the 2J x Ti matrices (J=2 and Ti is the size of sample i), equ
ation (3) in paper
J <- length((1:J)*tau);
gxm <- array(0, dim=c(2*J,Tx))
gym <- array(0, dim=c(2*J,Ty))
for (i in 1:Tx) {
gxm[seq(1,2*J,by=2),i] <- cos(that*x[i]);
gxm[seq(2,2*J,by=2),i] <- sin(that*x[i]);
}
for (i in 1:Ty) {
gym[seq(1,2*J,by=2),i] <- cos(that*y[i]);
gym[seq(2,2*J,by=2),i] <- sin(that*y[i]);
}
# Create the g_i vectors
gx <- (1/Tx)*rowSums(gxm);
gy <- (1/Ty)*rowSums(gym);
# Covariances (these are the biased versions and they are used by the t
est)
Sxhat <- ((Tx-1)/Tx)*cov(t(gxm));
Syhat <- ((Ty-1)/Ty)*cov(t(gym));
# Compute Omega hat
omegahat <- ((Tx+Ty)/Tx)*Sxhat + ((Tx+Ty)/Ty)*Syhat;
# Compute the ES statistic
if (Tx<25 & Ty<25) { # use the small sample correction
ssc <- TRUE;
cTxTy <- 1/(1+(Tx+Ty)^(-0.45)+10.1*(Tx^(-1.7)+Ty^(-1.7)));
W2 <- cTxTy*(Tx+Ty)%*%t((gx-gy))%*%solve(omegahat)%*%(gx-gy);
} else {
ssc <- FALSE;
W2 <- (Tx+Ty)*t((gx-gy))%*%solve(omegahat)%*%(gx-gy);
}
# Compute p-value using the statistic and the degrees of freedom
# pvalue <- 1-pchisq(W2,qr(omegahat)$rank);
pvalue <- 1-pchisq(W2,qr(omegahat)$rank);
meth <- ifelse(ssc,"Epps-Singleton two-sample omnibus test using small
sample correction","Epps-Singleton two-sample omnibus test");
names(W2) <- "Test statistic";
rval <- list(statistic=W2,
p.value=pvalue,
alternative=paste("ECDF of", deparse(substitute(x)), "does
not equal ECDF of", deparse(substitute(y))),
method=meth,
data.name=paste(deparse(substitute(x)), "and", deparse(sub
stitute(y))));
class(rval) <- "htest";

return(rval);
}

#Está función se creo para trabajar con vectores y con dos colas
es.test(Basedato[Basedato$Forma.de.vida=="Arbol","Cobertura.relativa"],Ba
sedato[Basedato$Forma.de.vida=="Arbusto","Cobertura.relativa"])

##
## Epps-Singleton two-sample omnibus test
##
## data: Basedato[Basedato$Forma.de.vida == "Arbol", "Cobertura.relativa
"] and Basedato[Basedato$Forma.de.vida == "Arbusto", "Cobertura.relativa"
]
## Test statistic = 8.3656, p-value = 0.07907
## alternative hypothesis: ECDF of Basedato[Basedato$Forma.de.vida == "Ar
bol", "Cobertura.relativa"] does not equal ECDF of Basedato[Basedato$Form
a.de.vida == "Arbusto", "Cobertura.relativa"]

#Podemos observar que las distribuciones de los datos no son diferentes (


p>0.05). Entonces, el supuesto se cumple y las distribuciones son iguale
s y con la prueba de Mann- Whitney podemos concluir si habrá diferencias.

wilcox.test(Dominancia.absoluta~Especies, alternative="two.sided", exact=


T, correct=F, paired=F, data=Basedatos1)

##
## Wilcoxon rank sum exact test
##
## data: Dominancia.absoluta by Especies
## W = 138, p-value = 0.8384
## alternative hypothesis: true location shift is not equal to 0

#Observamos que el valor de p > 0.05, entonces la dominancia no es difere


nte entre las especies.
#Hagamos la Gráfica
boxplot(Dominancia.absoluta~Especies, data=Basedatos1, xlab=c("Especies")
, col="lightblue", names=c("Casimiroa greggii", "Havardia pallens"))

#T de student para datos pareados


#Comprobamos la normalidad de los datos entre la cobertura y los sitios,
También la diferencia entre los sitios con histogramas.

hist(Basedato[Basedato$Sitios=="S1","Cobertura.relativa"]-Basedato[Baseda
to$Sitios=="S2","Cobertura.relativa"], xlab="Diferencia de los sitios y l
a cobertura", main=NULL, col="lightblue")
{qqnorm(Basedato[Basedato$Sitios=="S1","Cobertura.relativa"]-Basedato[Bas
edato$Sitios=="S2","Cobertura.relativa"])
qqline(Basedato[Basedato$Sitios=="S1","Cobertura.relativa"]-Basedato[Ba
sedato$Sitios=="S2","Cobertura.relativa"])
}

#Podemos obervar en las graficas que los datos tiene normalidad.


#Hagamos la prueba de Shapiro wilk

shapiro.test(Basedato[Basedato$Sitios=="S1","Cobertura.relativa"]-Basedat
o[Basedato$Sitios=="S2","Cobertura.relativa"])

##
## Shapiro-Wilk normality test
##
## data: Basedato[Basedato$Sitios == "S1", "Cobertura.relativa"] - Based
ato[Basedato$Sitios == "S2", "Cobertura.relativa"]
## W = 0.99213, p-value = 0.1837

#Comprobamos que los datos son normales (p>0.05)

#Realicemos la prueba de t student con datos pareados, sabremos si existe


n diferencias estadísticamente significativas entre la cobertura relativa
con respecto a los sitios.
t.test(Cobertura.relativa~Sitios, data=Basedato, paired=T)

##
## Paired t-test
##
## data: Cobertura.relativa by Sitios
## t = -1.0876, df = 258, p-value = 0.2778
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -0.034562679 0.009968152
## sample estimates:
## mean difference
## -0.01229726

# Observamos que el valor de p > a 0.05, esto nos indica que no existen d
iferencias significativas entre los sitios con respecto a la cobertura.

#Man Whiteney Wilcoxon Test muestras pareadas


#Ahora veamos la simétria de los sitios con respecto a la altura.

hist(Basedato[Basedato$Sitios=="S1","Altura..m."]-Basedato[Basedato$Sitio
s=="S2","Altura..m."], xlab="Diferencia de Altura entre los sitios", main
=NULL, col="lightblue")
#Observamos que entre los datos de los dos sitios no hay una distribución
simétrica.

#Hagmaos ahora otro gráfico de normalidad.


{qqnorm(Basedato[Basedato$Sitios=="S1","Altura..m."]-Basedato[Basedato$Si
tios=="S2","Altura..m."])
qqline(Basedato[Basedato$Sitios=="S1","Altura..m."]-Basedato[Basedato$S
itios=="S2","Altura..m."])}

#Realicemos la prueba de Shapiro.test entre los sitios.

shapiro.test(Basedato[Basedato$Sitios=="S1","Altura..m."]-Basedato[Baseda
to$Sitios=="S2","Altura..m."])

##
## Shapiro-Wilk normality test
##
## data: Basedato[Basedato$Sitios == "S1", "Altura..m."] - Basedato[Base
dato$Sitios == "S2", "Altura..m."]
## W = 0.95776, p-value = 7.249e-07

#Sabemos que nuestros datos no son normales, puesto que nuestro valor de
p<0.05.
#Hagamos la prueba no paramétrica de Wilcoxon (Rangos con signos)

wilcox.test(Altura..m.~Sitios, alternative="two.sided", exact=T, correct=


F, paired=T, data=Basedato)

##
## Wilcoxon signed rank exact test
##
## data: Altura..m. by Sitios
## V = 33670, p-value < 2.2e-16
## alternative hypothesis: true location shift is not equal to 0

#Podemos argumentar que entre los sitios con respecto a la altura no hay
diferencias estadísticamente significativas. Por lo tanto, se rechaza la
hipótesis nula.

You might also like