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

p-value: 2.2e-16 = por lo que existe relacion normal entre altura y diametro para el conjunto de datos.rechaso h0

en cuanto a los residuos se interpreta que la media se ubica cercana a cero, median-0.4417, pero existen valores anomalos en el minimo=-21.3204 y maximo=18.9676 que se salen por mucho de la media por lo que podrian afectar las estimaciones de los coeficientes y la evaluación del modelo.

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

test.heterocedasticidad

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.

EL NUESTRO ES NORMAL PERO ES NO BALACNEADO ENTOMNCES USO ONEWAY.TEST.

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