toc: true
toc_depth: 3
toc_float: true
collapsed: true
smooth_scroll: true
theme: journal
highlight: kate
df_print: paged
code_folding: show
Autor: Edson Porras Solís.
library(readxl)
mis_datos <- read_excel(“C:/Copia de Copia de Datos Árboles DEFINITIVO 2.xlsx”)
datos_mete <- read_excel(“C:/EXCEL DATOS METEREOLOGICOS DEF.xlsx”)
datos_met <-data.frame(datos_mete) datos_met
mis_datos Datos_arb_<-data.frame(mis_datos) Datos_arb_
summary(Datos_arb_)
#porcentajes: #tipo de hoja en BH prop.table(table(Datos_arb_\(tipo_hoja[Datos_arb_\)sitio == “BH”])) * 100 #tipo hoja en SAB
prop.table(table(Datos_arb_\(tipo_hoja[Datos_arb_\)sitio == “SAB”])) * 100
#TIPO HOJA EN CCH
prop.table(table(Datos_arb_\(tipo_hoja[Datos_arb_\)sitio == “CCH”])) * 100
#TIPO DE HOJA EN EXP
prop.table(table(Datos_arb_\(tipo_hoja[Datos_arb_\)sitio == “EXP”])) * 100
#tipo lamina round(prop.table(table(Datos_arb_\(forma_lamina[Datos_arb_\)sitio == “BH”])) * 100, 2)
round(prop.table(table(Datos_arb_\(forma_lamina[Datos_arb_\)sitio == “SAB”])) * 100, 2)
round(prop.table(table(Datos_arb_\(forma_lamina[Datos_arb_\)sitio == “EXP”])) * 100, 2)
round(prop.table(table(Datos_arb_\(forma_lamina[Datos_arb_\)sitio == “CCH”])) * 100, 2)
#grupo round(prop.table(table(Datos_arb_\(grupo[Datos_arb_\)sitio == “BH”])) * 100, 2)
round(prop.table(table(Datos_arb_\(grupo[Datos_arb_\)sitio == “SAB”])) * 100, 2)
round(prop.table(table(Datos_arb_\(grupo[Datos_arb_\)sitio == “CCH”])) * 100, 2)
#procedencia:
round(prop.table(table(Datos_arb_\(procedencia[Datos_arb_\)sitio == “BH”])) * 100, 2)
round(prop.table(table(Datos_arb_\(procedencia[Datos_arb_\)sitio == “SAB”])) * 100, 2)
round(prop.table(table(Datos_arb_\(procedencia[Datos_arb_\)sitio == “CCH”])) * 100, 2)
round(prop.table(table(Datos_arb_\(procedencia[Datos_arb_\)sitio == “EXP”])) * 100, 2)
table(Datos_arb_$tipo_hoja)
#correlacion: a mayor altura mayor diametro(general) #h0= no relacion altura, y diametro #h1=relacion altura y diametro
#vectores. altura_arb <- as.numeric(as.character(Datos_arb_\(altura)) altura_arb diametro_arb <- as.numeric(as.character(Datos_arb_\)diametro)) diametro_arb
#normalidad
shapiro.test(altura_arb)
#p-value = 3.18e-10
shapiro.test(diametro_arb) #p-value = 2.2e-16 #prueba
cor.test(altura_arb,diametro_arb,method = “spearman”)
#p value=2.2e-16, correlacion diametro y altura(general)
##correlacion: a mayor altura mayor diametro(BH) #h0= no relacion altura, y diametro #h1=relacion altura y diametro
#vectores:
BH <- subset(Datos_arb_, sitio == “BH”) BH
#normalidad shapiro.test(BH$altura) p-value = 2.168e-11
shapiro.test(BH$diametro) p-value = 1.573e-13
cor.test(BH\(altura, BH\)diametro,method = “spearman”)
#P,value=p-value = 2.2e-16, en BH si hay relacion entre diametro y altura,oeficiente correlacion= rho 0.6472012 . correlacion positiva fuerte
##correlacion: a mayor altura mayor diametro(CCH)
#h0= no relacion altura, y diametro #h1=relacion altura y diametro
#vectores:
CCH <- subset(Datos_arb_, sitio == “CCH”) CCH
#normalidad shapiro.test(CCH$altura) p-value = 4.609e-08
shapiro.test(CCH$diametro) p-value = 2.2e-16
cor.test(CCH\(altura, CCH\)diametro,method = “spearman”)
#p value=2.2e-16, correlacion entre altura y diametro en CCH
##correlacion: a mayor altura mayor diametro(CCH) #h0= no relacion altura, y diametro #h1=relacion altura y diametro #vectores:
EXP <- subset(Datos_arb_, sitio == “EXP”) EXP shapiro.test(EXP$altura) p-value = 0.09
shapiro.test(EXP\(diametro) p-value = 2.2e-16 cor.test(EXP\)altura, EXP$diametro,method = “spearman”) #p value=4.84e-05, correlacion entre altura y diametro en CCH
##correlacion: a mayor altura mayor diametro(CCH) #h0= no relacion altura, y diametro #h1=relacion altura y diametro #vectores:
SAB <- subset(Datos_arb_, sitio == “SAB”) SAB shapiro.test(SAB$altura) p-value = 0.01
shapiro.test(SAB$diametro) p-value = 6.332e-05
cor.test(SAB\(altura, SAB\)diametro,method = “spearman”) #p value=1.68e-14, correlacion entre altura y diametro en SAB
#regrecion #supuesto (prediccion) :La altura de los árboles variara en los cuatro sitios. #H0: no existe relación lineal entre la altura de los árboles y su diámetro #H1: existe relación lineal entre la altura y diámetro de los arboles
Datos_arb_<-data.frame(mis_datos) Datos_arb_ altura_arb <- as.numeric(as.character(Datos_arb_$altura))
diametro_arb <- as.numeric(Datos_arb_$diametro)
#prueba regrecion (altura arboles relacionada con diametro)
reg_altura <- data.frame( altura = altura_arb, diametro = diametro_arb )
reg_altura #modelo lineal
lm_altura <- lm(altura ~ diametro, data = reg_altura)
summary(lm_altura)
Call: lm(formula = altura ~ diametro, data = reg_altura)
Residuals: Min 1Q Median 3Q Max -21.3204 -2.9534 -0.4417 2.3501 18.9676
Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.0783 0.3000 23.60 <2e-16 diametro 4.5264
0.3392 13.34 <2e-16 — Signif. codes: 0 ‘’
0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.488 on 600 degrees of freedom Multiple R-squared: 0.2289, Adjusted R-squared: 0.2276 F-statistic: 178.1 on 1 and 600 DF, p-value: < 2.2e-16
#interceptos. observo que valores pr indican que alrura = <2e-16 *** y diametro= <2e-16 *** son altamebte significativos, # obtengo ecuacion de la recta a partir de los interceptos (altura=7.0783+4.5264(diametro)) coef(lm_altura)
(Intercept) diametro 7.078327 4.526449
plot(altura_arb,diametro_arb)
par(mfrow = c(2, 2)) plot(lm_altura)
#ahora ver normalidad
shapiro.test(lm_altura$residuals)
p =7.856e-11 =residuos no normalesnormalidad #si no normal, se puede hacer igual pero no se puede justificar. #instale paquete car y lo active
library(car)
ncvTest(lm(altura ~ diametro, data = reg_altura))
#p = 7.856e-11 =heterocedastico
#test durpin-watson:busca que no haya correlacion ente herrores entre 0 y 4 (1,75-2.25)
library(lmtest)
dwtest(lm(altura ~ diametro, data = reg_altura))
DW = 1.4731, p-value = 4.432e-11
#me da p value 4.432e-11, = VALOR MUY VAJO POR LO QUE existe autocorrelacion entre herrores
#chicuadrado, en los 4 sitios muestreo igual probabilidad de encontrar arboles nativos y exoticos datos_met <-data.frame(datos_mete)
#h0: La distribución de arboles nativos y exóticos es igual en los cuatro sitios.
#h1: la distribución de arboles nativos y exóticos difiere en al menos uno de los cuatro sitios.
bh_proc <- c(exoticos = 147, nativos = 14)
sab_proc <- c(exoticos=17, nativos = 65)
cch_proc <- c(exoticos=0, nativos = 301)
exp_proc <- c(exoticos=30, nativos = 28)
#creo tabla
tabla_prot <- rbind(bh_proc, sab_proc, cch_proc, exp_proc)
tabla_prot
prueba_ch <- chisq.test(tabla_proc) g<- fisher.test(tabla_prot) g
prueba_ch
#X-squared = 415.46, df = 3, p-value < 2.2e-16
#p value=2.2e-16 rechaza h0
#Prueba chi cuadrado de la proporción de la presencia de los tipos de hoja (compuesta, simple) en las 4 parcelas. #H0=La distribución de árboles con hojas compuestas y simples es igual en los cuatro sitios. #H1= la distribución de árboles con hojas compuestas y simples difiere en al menos uno de los cuatro sitios
bh_hoja <- c(simple = 159, compuesta = 2)
sab_hoja <- c(simple=21, compuesta = 61)
cch_hoja <- c(simple=280, compuesta = 21)
exp_hoja <- c(simple=58, compuesta = 0)
#creo tabla
tabla_proc <- rbind(bh_hoja, sab_hoja, cch_hoja, exp_hoja)
tabla_proc
Prueba_fisher<-fisher.test(tabla_proc)
Prueba_fisher
prueba_ch
#chicuadrado, nivel temperatura en los 4 sitios datos_met <-data.frame(datos_mete) #h0=nivel temperatura igual en los 4 sitios #H1= nivel temperatura distinto en cada sitio
#vectores sab <- datos_met\(PROMEDIO_TEMP[datos_met\)SITIO == “LA_SAB”]
cch <- datos_met\(PROMEDIO_TEMP[datos_met\)SITIO == “C_CHOM”]
exp <- datos_met\(PROMEDIO_TEMP[datos_met\)SITIO == “EXP”]
bh <- datos_met\(PROMEDIO_TEMP[datos_met\)SITIO == “B_HOJA”]
summary(datos_met$PROMEDIO_TEMP) # summary promedios temperatura Min. 1st Qu. Median Mean 3rd Qu. Max. 1.867 18.529 20.071 18.655 21.096 24.808 #minimo 1.867, maximo 24.808 #creo categorias para chi cuadrado:baja (menos 9.5) media (9.5 a 17.16) y alta (17.16 a 24.80).
datos_met\(PROMEDIO_HUM <- cut(datos_met\)PROMEDIO_TEMP, breaks = c(-Inf, 9.5, 17.16, Inf), labels = c(“Baja”, “Media”, “Alta”)
tabla <- table(datos_met\(SITIO, datos_met\)PROMEDIO_TEMP)
chisq.test(tabla)
#X-squared = 23404, df = 8448, p-value < 2.2e-16 #temperatura distinta en cada sitio
#anova. como regrecion o modelo lineal #modelo aov(base datos\(variable numerica~base\)categoria) #categoria=sitio #veriable numerica=tamaño arbol, diametro arbbol,prom-precipiraciones etc
Datos_arb_
summary(Datos_arb_)
aov(Datos_arb_\(altura~Datos_arb_\)sitio)
anova_alt <- aov(Datos_arb_\(altura~Datos_arb_\)sitio)
summary(anova_alt)
shapiro.test(anova$residuals)
shapiro.test(anova_alt$residuals)
#prueba homocedasticidad, 4 obciones cual uso, veo si estan valanceados
tapply(Datos_arb_\(altura,Datos_arb_\)sitio,length)
#BH CCH EXP SAB #161 301 58 82
#DATOS DESBALANCEADOS Y NORMALES. QUE SER USA?(levenetest)
library(car)
leveneTest(Datos_arb_\(altura~Datos_arb_\)sitio)
#HETEROCEDASTICO= 3.771e-07 ***
#porque se hiso, para ver con cual nos quedamos, si anova nonnormal, no se entregara,porque tendria que hacer kruskal wallis, como no es el caso se hace fisher.
oneway.test(Datos_arb_\(altura~Datos_arb_\)sitio)
#p-value = 0.0001431 #ME DICE QUE ALMENOS 1 ES DIFERENTE, NO ME DICE CUAL ES. #SI esta preubamayor de 0.05 se detiene. #ahora como normales pero heterocedasticos.PARIRWISE.wilcox.TEST
pairwise.wilcox.test(Datos_arb_\(altura,Datos_arb_\)sitio, p.adj= “b”,exact=F)
pairwise.t.test(Datos_arb_\(altura,Datos_arb_\)sitio, p.adjust.method= “none”, exact=F)
#se realizo prueba oneway.test confirma la teoria de que hay diferencia entre la altura del sitio pero prueba prueba bonferoni(tukey)confirma que los dados de (sab) difieren de los datos de las hubicaciones exp,cch y bh, mientras que en las ubicaciones anteriores si existe realcion.
#sifueran balanceados normales=tukey #no normalesbalanceado=pairwise.wilcox.test #no normales, no balanceados