Este es un análisis exploratorio que nos permitirá conocer como es el consumo de oxígeno en las distintas concentraciones de agua de mar en los dos tipos de moluscos.
attach(BD_moluscos)
summary(BD_moluscos)
## c_agua molusco cons_o
## Min. : 50 Length:48 Min. : 1.800
## 1st Qu.: 50 Class :character 1st Qu.: 6.312
## Median : 75 Mode :character Median : 9.700
## Mean : 75 Mean : 9.305
## 3rd Qu.:100 3rd Qu.:11.232
## Max. :100 Max. :18.800
tapply(cons_o,c_agua, mean,na.rm=TRUE)
## 50 75 100
## 12.25062 6.99250 8.67125
tapply(cons_o,molusco, mean,na.rm=TRUE)
## A B
## 10.000417 8.609167
Tanto en el summary como en los tapply se puede observar que:
1. Los promedios de consumo de oxígeno para las concentraciones de agua son: 12.2 de consumo de oxígeno para concentración de agua del 50%, 6.99 de consumo de oxígeno para concentración de agua del 75% y por último 8.67 de consumo de oxígeno para concentración de agua del 100%.
2.Los promedios de consumo de oxígeno para los dos tipos de moluscos es: 10 de consumo de oxígeno para el tipo de molusco A, y 8.6 de consumo de oxígeno para el tipo B.
require(ggplot2)
## Loading required package: ggplot2
ggplot(data=BD_moluscos,aes(x=c_agua,y=cons_o, colour=molusco))+geom_point()+theme_bw()+xlab("Concentración de agua de mar")+ylab("Consumo de O.")+geom_smooth()+facet_grid(~molusco)+ggtitle("Relacion consumo de oxigeno y concentración de agua")
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Gráfica #1: en este boxplot se observa de manera muy general los promedios de los datos de los pormedios mostrados anteriormente, donde en el eje y se observa el consumo de oxígeno, en el ejex la concentración de agua de mar y los resultados para ambos tipo de moluscos a modo de divisiones.
Algunas Conclusiones De acuerdo a los datos del exploratorio específicamente del tapply de consumo de O vs tipo de molusco es claro que el molusco tipo A consume más oxígeno (10) que el molusco B (8.6).
Al observar la gráfica también se puede concluir que tanto el molusco del tipo A como del tipo B consumen más oxígeno al 50% de concentración de agua de mar, sin embargo parece que el molusco tipo B consume más oxígeno que le tipo A en este porcentaje. Siguiendo la gráfica también se observa que al 75% de concentración de agua de mar tanto el molusco A como el molusco B tuvieron un bajo consumo de oxígeno, en especial el molusco tipo B.
Modelo #1: el primer modelo de diseño de experimento es para el consumo de oxígeno en función al tipo de molusco.
mod=lm(cons_o~molusco,data=BD_moluscos)
summary(mod)
##
## Call:
## lm(formula = cons_o ~ molusco, data = BD_moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.8092 -2.8254 -0.2604 1.7930 9.0908
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.0004 0.7459 13.408 <2e-16 ***
## moluscoB -1.3913 1.0548 -1.319 0.194
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.654 on 46 degrees of freedom
## Multiple R-squared: 0.03644, Adjusted R-squared: 0.01549
## F-statistic: 1.74 on 1 and 46 DF, p-value: 0.1937
Al observar los coeficientes del primer modelo podemos observar que se tomo como valor base los moluscos tipo A y que este tiene un valor p significativo, sin embargo el valor p para los moluscos tipo B no es significativo; por lo que se necesita realizar un análisis anova para confirmar que existen diferencias.
Análisis de Anova: Modelo #1
anova(mod)
## Analysis of Variance Table
##
## Response: cons_o
## Df Sum Sq Mean Sq F value Pr(>F)
## molusco 1 23.23 23.227 1.7396 0.1937
## Residuals 46 614.18 13.352
En el anova del modelo #1 se observa que no cumple con el valor p significativo por lo tanto se podria afirmar que no existen diferencias en el modelo #1 y por lo tanto no es necesario hacer un postanova.
Modelo #2: el segundo modelo de diseño de experimento es para el consumo de oxígeno en función a las concentraciones de agua de mar.
BD_moluscos$c_agua_=as.factor(BD_moluscos$c_agua)
mod2=lm(cons_o~c_agua_,data=BD_moluscos)
summary(mod2)
##
## Call:
## lm(formula = cons_o ~ c_agua_, data = BD_moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.8706 -2.0445 -0.4766 2.2494 6.5494
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.2506 0.7515 16.302 < 2e-16 ***
## c_agua_75 -5.2581 1.0627 -4.948 1.09e-05 ***
## c_agua_100 -3.5794 1.0627 -3.368 0.00156 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.006 on 45 degrees of freedom
## Multiple R-squared: 0.3621, Adjusted R-squared: 0.3338
## F-statistic: 12.77 on 2 and 45 DF, p-value: 4.043e-05
Al observar los coeficientes del segundo modelo podemos observar que se tomo como valor base la concentración de agua del 50% y que todos los coeficientes del modelo tienen un valor p significativo, sin embargo es importante realizar un análisis anova para confirmar que existen diferencias.
anova(mod2)
## Analysis of Variance Table
##
## Response: cons_o
## Df Sum Sq Mean Sq F value Pr(>F)
## c_agua_ 2 230.82 115.408 12.773 4.043e-05 ***
## Residuals 45 406.59 9.035
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En el anova del modelo #1 se observa que cumple con el valor p significativo por lo tanto se podria afirmar que existen diferencias en el modelo #1 y por lo tanto es necesario hacer un postanova.
Postanova modelo #2:
require(agricolae)
## Loading required package: agricolae
compara=LSD.test(mod2,"c_agua_")
compara
## $statistics
## MSerror Df Mean CV t.value LSD
## 9.03543 45 9.304792 32.30485 2.014103 2.14048
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none c_agua_ 3 0.05
##
## $means
## cons_o std r LCL UCL Min Max Q25 Q50 Q75
## 100 8.67125 3.000940 16 7.157702 10.184798 3.68 14.0 6.140 8.595 10.5750
## 50 12.25062 3.199643 16 10.737077 13.764173 6.38 18.8 10.085 11.455 14.5000
## 75 6.99250 2.804093 16 5.478952 8.506048 1.80 13.2 5.200 6.430 8.7675
##
## $comparison
## NULL
##
## $groups
## cons_o groups
## 50 12.25062 a
## 100 8.67125 b
## 75 6.99250 b
##
## attr(,"class")
## [1] "group"
Del postanova del modelo #2 se pueden sacar varios datos, como por ejemplo se pueden observar los intervalos de confianza para las concentraciones de agua de mar. Por otro lado en la sección groups se puede ver que la concentración de agua de mar más significativa es la de 50%, mientras que las concentraciones 100% y 75% aunque no son tan significativas no hay mucha diferencia entre estas 2, lo que significaría que no hay diferencia significativa cuando se usa estos dos porcentajes de concentración de agua.
names(cantos_intermareales)=c("canto","epoca","riqueza")
En esta base de datos se encuentran los datos de riqueza (número de especies) de moluscos asociados a cantos intermareales de diferente tamaño en diferentes épocas del año.
Para evaluar si la riqueza varía entre los diferentes tamaños de cantos y sus interacciones con las diferentes epocas del año se organizaron las variables de la siguiente manera:
epoca = Epoca del Año canto = Tamaño del canto riqueza = Riqueza (número de especies)
En primer lugar se realiza un summary para poder ver la base de datos más detalladamente:
summary(cantos_intermareales)
## canto epoca riqueza
## Length:64 Length:64 Min. : 0.000
## Class :character Class :character 1st Qu.: 2.000
## Mode :character Mode :character Median : 4.000
## Mean : 4.719
## 3rd Qu.: 7.000
## Max. :11.000
En el summary se puede observar el promedio de riqueza de la base de datos, que en este caso es aproximadamente 5 especies.
Ahora se realizan gráficas para poder observar más detalladamente el comportamiento de los datos entre ellos.
ggplot(cantos_intermareales,aes(x=epoca,y=riqueza,fill=epoca))+
geom_boxplot()+theme_bw()+ggtitle("Gráfica #1: especies vs Epoca del año")+theme(plot.title = element_text(hjust = 0.5))
ggplot(cantos_intermareales,aes(x=canto,y=riqueza,fill=canto))+
geom_boxplot()+theme_bw()+ggtitle("Gráfica #2: especies vs Tamaño del canto")+theme(plot.title = element_text(hjust = 0.5))
Gráfica #1: en esta gráfica se puede ver como la cantidad de especies (riqueza) no es muy variable en relación con las 4 epocas del año, aunque se observa un mayor registro en T3 de todas maneras no se observa a simple vista una diferencia significativa entre las variables.
Gráfica #2: en esta gráfica a diferencia de la anterior se puede ver como la cantidad de especies (riqueza) es muy variable en relación con los 4 cantos intermareales registrados, a simple vista se podria decir que hay mayor variedad de especies con el canto de tamaño S1; mientras que hay una menor riqueza de especies con el canto de tamaño S4 lo cuá parece ser una diferencia significativa entre las variables.
A continuación se realiza un modelo de experimento para análizar las variables:
cantos_intermareales$canto_=as.factor(cantos_intermareales$canto)
cantos_intermareales$epoca_=as.factor(cantos_intermareales$epoca)
attach(cantos_intermareales)
tapply(riqueza, epoca_,mean,na.rm=TRUE)
## T1 T2 T3 T4
## 4.5625 5.0000 4.9375 4.3750
tapply(riqueza, canto_,mean,na.rm=TRUE)
## S1 S2 S3 S4
## 7.3125 5.8750 3.3750 2.3125
mod1=lm(riqueza~canto_,data=cantos_intermareales)
summary(mod1)
##
## Call:
## lm(formula = riqueza ~ canto_, data = cantos_intermareales)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.8750 -1.3281 -0.3125 1.2500 5.6250
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.3125 0.5538 13.205 < 2e-16 ***
## canto_S2 -1.4375 0.7831 -1.836 0.0714 .
## canto_S3 -3.9375 0.7831 -5.028 4.77e-06 ***
## canto_S4 -5.0000 0.7831 -6.385 2.77e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.215 on 60 degrees of freedom
## Multiple R-squared: 0.4598, Adjusted R-squared: 0.4328
## F-statistic: 17.02 on 3 and 60 DF, p-value: 4.096e-08
mod2=lm(riqueza~epoca_,data=cantos_intermareales)
summary(mod2)
##
## Call:
## lm(formula = riqueza ~ epoca_, data = cantos_intermareales)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.938 -2.375 -0.375 2.438 6.625
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.5625 0.7504 6.080 9.04e-08 ***
## epoca_T2 0.4375 1.0613 0.412 0.682
## epoca_T3 0.3750 1.0613 0.353 0.725
## epoca_T4 -0.1875 1.0613 -0.177 0.860
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.002 on 60 degrees of freedom
## Multiple R-squared: 0.007914, Adjusted R-squared: -0.04169
## F-statistic: 0.1595 on 3 and 60 DF, p-value: 0.9231
Primer modelo: Al observar los coeficientes del primer modelo podemos observar que se tomo como valor base el tamaño de canto tipo S1 y que todos los coeficientes del modelo tienen un valor p significativo (cantos tipo S2, S3, S4), sin embargo es importante realizar un análisis anova para confirmar que existen diferencias.
Segundo modelo: Al observar los coeficientes del segundo modelo podemos observar que se tomo como valor base la epoca del año tipo T1 y que este tiene un valor p significativo, sin embargo el valor p para el resto de epocas del año (T2, T3 y T4) no es significativo; por lo que se necesita realizar un análisis anova para confirmar que existen diferencias.
Acontinuación se realiza el análisis anova para confirmar si en los modelos planteados anteriormente exiten diferencias entre las variables.
anova(mod1)
## Analysis of Variance Table
##
## Response: riqueza
## Df Sum Sq Mean Sq F value Pr(>F)
## canto_ 3 250.56 83.521 17.023 4.096e-08 ***
## Residuals 60 294.38 4.906
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod2)
## Analysis of Variance Table
##
## Response: riqueza
## Df Sum Sq Mean Sq F value Pr(>F)
## epoca_ 3 4.31 1.4375 0.1595 0.9231
## Residuals 60 540.63 9.0104
Anova modelo 1: En el anova del modelo #1 se observa que cumple con el valor p significativo por lo tanto se podria afirmar que existen diferencias entre el número de especies con el tamaño del canto intermareal y por lo tanto es necesario hacer un postanova solamente para este modelo.
Anova modelo 2:En el anova del modelo #2 se observa que NO cumple con el valor p significativo por lo tanto se puede afirmar que NO existen diferencias entre el número de especies (riqueza) con las epocas del año, por lo que NO se debe realizar un Postanova.
Ya que el modelo 1 fue el único que dio un anova significativo solo se realizará análisis postanova a este.
compara=LSD.test(mod1,"canto_")
compara
## $statistics
## MSerror Df Mean CV t.value LSD
## 4.90625 60 4.71875 46.94052 2.000298 1.566479
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none canto_ 4 0.05
##
## $means
## riqueza std r LCL UCL Min Max Q25 Q50 Q75
## S1 7.3125 1.922455 16 6.204832 8.420168 4 11 6.75 7 8.00
## S2 5.8750 2.963669 16 4.767332 6.982668 0 11 3.75 6 8.00
## S3 3.3750 2.276694 16 2.267332 4.482668 0 9 2.00 3 4.25
## S4 2.3125 1.400893 16 1.204832 3.420168 0 5 1.00 2 3.25
##
## $comparison
## NULL
##
## $groups
## riqueza groups
## S1 7.3125 a
## S2 5.8750 a
## S3 3.3750 b
## S4 2.3125 b
##
## attr(,"class")
## [1] "group"
Del postanova del modelo #1 se pueden sacar varios datos, como por ejemplo se pueden observar los intervalos de confianza para los tamaños de los cantos intermareales. Por otro lado en la sección groups se puede ver que el tipo de canto intermareal más significativo es el del tipo S1 y S2, mientras que los cantos tipo S3 y S4 no tienen tantas diferencias como los 2 tipos anteriores, se podría decir que no hay diferencia significativa cuando se evalúa estos tipos de canto intermareal.
Se desea analizar el efecto de cuatro tipos de dieta sobre el engorde de cerdos, donde se tienen 20 cerdos asignados a cuatro grupos experimentales (cuatro dietas disponibles).
Dietas_cerdos=read_excel("C:/Users/usuario/Desktop/Statistiques/Data/Dietas_cerdos.xlsx")
Dietas_cerdos$Dieta_=as.factor(Dietas_cerdos$Dieta)
attach(Dietas_cerdos)
tapply(Peso, Dieta_, mean,na.rm=TRUE)
## DietaA DietaB DietaC DietaD
## 64.62 71.30 73.54 63.24
En el exploratorio se observa los promedios de los pesos para las 4 dietas suministradas a los cerdos, de a cuerdo al tapply lo cerdos con la dieta C son los que tienen más pesos a diferencia de los que se les proporcionó la Dieta D.
datos=Dietas_cerdos
attach(datos)
mod_d=lm(Peso~Dieta_,data=datos)
summary(mod_d)
##
## Call:
## lm(formula = Peso ~ Dieta_, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.940 -2.680 0.440 2.095 3.980
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 64.620 1.330 48.593 < 2e-16 ***
## Dieta_DietaB 6.680 1.881 3.552 0.002655 **
## Dieta_DietaC 8.920 1.881 4.743 0.000221 ***
## Dieta_DietaD -1.380 1.881 -0.734 0.473691
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.974 on 16 degrees of freedom
## Multiple R-squared: 0.7275, Adjusted R-squared: 0.6764
## F-statistic: 14.24 on 3 and 16 DF, p-value: 8.833e-05
Modelo dietas: Al observar el modelo planteado para las dietas podemos observar que se tomo como valor base la Dieta A y que la mayoria de los coeficientes del modelo tienen un valor p significativo (Dieta tipo A, B y C) a excepción de la Dieta D la cuál no es significativa, sin embargo es importante realizar un análisis anova para confirmar que existen o no diferencias en el modelo.
anova(mod_d)
## Analysis of Variance Table
##
## Response: Peso
## Df Sum Sq Mean Sq F value Pr(>F)
## Dieta_ 3 377.71 125.902 14.239 8.833e-05 ***
## Residuals 16 141.47 8.842
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova modelo Dietas: En el anova del modelo de las dietas se observa que cumple con el valor p significativo por lo tanto se puede afirmar que existen diferencias entre el tipo de Dieta con el peso de los cerdos, por lo tanto es necesario hacer un postanova para ver más detalladamente las diferencias.
require(agricolae)
Comparar_a=LSD.test(mod_d,"Dieta")
Comparar_a
## $statistics
## MSerror Df Mean CV t.value LSD
## 8.842 16 68.175 4.361643 2.119905 3.986775
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none Dieta_ 4 0.05
##
## $means
## Peso std r LCL UCL Min Max Q25 Q50 Q75
## DietaA 64.62 3.345445 5 61.80092 67.43908 60.8 68.6 61.7 65.0 67.0
## DietaB 71.30 3.068387 5 68.48092 74.11908 67.7 75.0 68.7 71.8 73.3
## DietaC 73.54 2.987139 5 70.72092 76.35908 69.6 77.1 71.5 74.3 75.2
## DietaD 63.24 2.416195 5 60.42092 66.05908 60.3 66.7 61.9 63.1 64.2
##
## $comparison
## NULL
##
## $groups
## Peso groups
## DietaC 73.54 a
## DietaB 71.30 a
## DietaA 64.62 b
## DietaD 63.24 b
##
## attr(,"class")
## [1] "group"
Del postanova del modelo de las dietas se pueden sacar varios datos, como por ejemplo se puede observar los intervalos de confianza para los pesos de los cerdos. Por otro lado en la sección groups se puede ver que el tipo de Dieta más significativo es el del tipo Cy B, mientras que las dietas tipo A y D no tienen tanta diferencia como los 2 tipos anteriores.
Las dietas que producen más efecto sobre el engorde de los cerdos son las dietas C y B, mientras que las dietas A y D aunque producen un efecto en el engorde no es comparables a las dos dietas anteriores. Por consiguiente si se desea subir el peso de los cerdos se recomienda utilizar la dieta C, pero si se desea bajar el peso de los cerdos se recomienda utilizar la dieta tipo D.
Determinación del efecto que tiene la temperatura y sexo sobre la tasa de consumo de oxígeno (mgO2) de una especie de cangrejo.
Temperatura=read_excel("C:/Users/usuario/Desktop/Statistiques/Data/Temperatura.xlsx")
Temperatura$Temp_=as.factor(Temperatura$Temp)
Temperatura$Sexo_=as.factor(Temperatura$Sexo)
attach(Temperatura)
tapply(Tasa_cons,Temp_,mean,na.rm=TRUE)
## Alta Baja Media
## 3.0125 1.6375 2.3875
tapply(Tasa_cons,Sexo_,mean,na.rm=TRUE)
## Hembra Macho
## 2.358333 2.333333
En el exploratorio se observa los promedios del consumo de oxígeno para los 2 factores (temperatura y sexo); de a cuerdo al tapply de temperatura los cangrejos con temperatura alta consumen más oxpigeno que los de temperatura baja y media, por otro lado el tapply del sexo las hembras consumen solo un poco más de oxígeno, sin embargo a simple viste no parece existir diferencias significativas entre machos y hembras.
require(ggplot2)
ggplot(data=Temperatura,aes(x=Temp,y=Tasa_cons,fill=Sexo))+geom_boxplot()+theme_bw()+xlab("Temperatura")+ylab("Consumo de Oxigeno")+ggtitle("Relación consumo de Oxigeno/Temperatura")+theme(plot.title = element_text(hjust = 0.5))
En la gráfica se observa como los cangrejos de temperatura alta consumo mucho más oxígeno que los de temperatura baja y media (igual que en el análisis exploratorio), también se resalta que las hembras consumen más oxígeno que los machos.
mod_t=lm(Tasa_cons~Temp_,data=Temperatura)
summary(mod_t)
##
## Call:
## lm(formula = Tasa_cons ~ Temp_, data = Temperatura)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.3875 -0.1562 0.0000 0.1688 0.3875
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.01250 0.07854 38.357 < 2e-16 ***
## Temp_Baja -1.37500 0.11107 -12.380 4.09e-11 ***
## Temp_Media -0.62500 0.11107 -5.627 1.39e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2221 on 21 degrees of freedom
## Multiple R-squared: 0.8798, Adjusted R-squared: 0.8683
## F-statistic: 76.84 on 2 and 21 DF, p-value: 2.187e-10
mod_s=lm(Tasa_cons~Sexo_,data=Temperatura)
summary(mod_s)
##
## Call:
## lm(formula = Tasa_cons ~ Sexo_, data = Temperatura)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.95833 -0.53958 0.04167 0.49167 1.06667
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.3583 0.1807 13.054 7.76e-12 ***
## Sexo_Macho -0.0250 0.2555 -0.098 0.923
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6258 on 22 degrees of freedom
## Multiple R-squared: 0.0004351, Adjusted R-squared: -0.045
## F-statistic: 0.009575 on 1 and 22 DF, p-value: 0.9229
Modelo temperatura: Al observar el modelo planteado para las temperaturas vs el consumo de oxígeno podemos observar que se tomo como valor base la temperatura Alta y que todos los coeficientes del modelo tienen un valor p significativo (temperatura alta, baja y media), sin embargo es importante realizar un análisis anova para confirmar que existen o no diferencias en el modelo.
Modelo Sexo: Al observar el modelo planteado para el sexo vs el consumo de oxígeno podemos observar que se tomo como valor base las hembras y que la mayoria de los coeficientes del modelo tienen un valor p significativo a excepción de los machos, el cuál no es significativa, sin embargo es importante realizar un análisis anova para confirmar que existen o no diferencias en el modelo.
anova(mod_t)
## Analysis of Variance Table
##
## Response: Tasa_cons
## Df Sum Sq Mean Sq F value Pr(>F)
## Temp_ 2 7.5833 3.7917 76.84 2.187e-10 ***
## Residuals 21 1.0363 0.0493
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod_s)
## Analysis of Variance Table
##
## Response: Tasa_cons
## Df Sum Sq Mean Sq F value Pr(>F)
## Sexo_ 1 0.0037 0.00375 0.0096 0.9229
## Residuals 22 8.6158 0.39163
Anova temperaturas: En el anova del modelo de las temperaturas vs el consumo de oxígeno se observa que cumple con el valor p significativo por lo tanto se puede afirmar que existen diferencias entre el nivel de temperatura con el consumo de oxígeno de los cangrejos, por lo tanto es necesario hacer un postanova para ver más detalladamente las diferencias.
Anova Sexo: En el anova del modelo del tipo de sexo vs el consumo de oxígeno se observa que NO cumple con el valor p significativo por lo tanto no se afirma que existen diferencias entre el tipo de sexo con el consumo de oxígeno de los cangrejos; por lo tanto NO es necesario hacer un postanova.
Comparar_b=LSD.test(mod_t,"Temp_")
Comparar_b
## $statistics
## MSerror Df Mean CV t.value LSD
## 0.04934524 21 2.345833 9.469466 2.079614 0.2309805
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none Temp_ 3 0.05
##
## $means
## Tasa_cons std r LCL UCL Min Max Q25 Q50 Q75
## Alta 3.0125 0.2232071 8 2.849172 3.175828 2.7 3.4 2.875 3.00 3.125
## Baja 1.6375 0.1922610 8 1.474172 1.800828 1.4 1.9 1.475 1.65 1.800
## Media 2.3875 0.2474874 8 2.224172 2.550828 2.0 2.7 2.250 2.40 2.600
##
## $comparison
## NULL
##
## $groups
## Tasa_cons groups
## Alta 3.0125 a
## Media 2.3875 b
## Baja 1.6375 c
##
## attr(,"class")
## [1] "group"
Del postanova del modelo temperatura vs consumo de oxígeno se pueden sacar varios datos, como por ejemplo se puede observar los intervalos de confianza para las tasas del consumo de oxígeno en los cangrejos; por otro lado en la sección groups se puede ver que el nivel de temperatura más significativo es temperaturas altas, mientras que las temeraturas medias y bajas no tienen tanta diferencia como la primer temperatura.
De acuerdo a los modelos y al análisis no existe evidencia que permita afirmar que el tipo de sexo influye en el consumo de oxígeno, sin embargo si hay evidencia de que el nivel de temperatura afecta el consumo de oxígeno en los cangrejos. Por lo tanto si se quiere analizar una tasa de consumo de oxígeno alta se recomienda hacerlo en temperaturas altas.
require(raster)
## Loading required package: raster
## Loading required package: sp
require(rgdal)
## Loading required package: rgdal
## Please note that rgdal will be retired by the end of 2023,
## plan transition to sf/stars/terra functions using GDAL and PROJ
## at your earliest convenience.
##
## rgdal: version: 1.5-27, (SVN revision 1148)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 3.2.1, released 2020/12/29
## Path to GDAL shared files: C:/Users/usuario/Documents/R/win-library/4.1/rgdal/gdal
## GDAL binary built with GEOS: TRUE
## Loaded PROJ runtime: Rel. 7.2.1, January 1st, 2021, [PJ_VERSION: 721]
## Path to PROJ shared files: C:/Users/usuario/Documents/R/win-library/4.1/rgdal/proj
## PROJ CDN enabled: FALSE
## Linking to sp version:1.4-5
## To mute warnings of possible GDAL/OSR exportToProj4() degradation,
## use options("rgdal_show_exportToProj4_warnings"="none") before loading sp or rgdal.
## Overwritten PROJ_LIB was C:/Users/usuario/Documents/R/win-library/4.1/rgdal/proj
require(sp)
nombres=list.files("C:/Users/usuario/Desktop/Statistiques/Data/imtemp/",full.names = TRUE)
temps=stack(nombres)
names(temps)=month.name
nombres2=list.files("C:/Users/usuario/Desktop/Statistiques/Data/imprec/",full.names = TRUE)
precip=stack(nombres2)
names(precip)=month.name
Para obtener un rendimiento (kg/ha) potencial del cultivo de Caña de Azúcar se sabe que uno de los factores limitantes es el clima.
Los requerimientos de clima para este cultivo osila entre temperaturas medias entre (22.5 y 28 grados centígrados) y una precipitación anual entre 1500 y 3500 (o precipitación mensual entre 125 y 290 mm.)
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
plot(aptitud_temp)
Se puede observar la gráfica de la suma de las temperaturas optimas que para la caña de azúcar son entre 22.5 y 28 C° en los diferentes países del mundo en color verde (valor 12), a simple vista se puede decir que estas temperaturas se encuentran mayormente en países con climas tropicales tales como america central y América del sur, como parte el continente africano y del asiático.
Por lo tanto en países como Canadá, argentina, gran parte de Europa, china incluso Australia es muy difícil por no decir casi imposible que se cultive exitosamente la caña de azúcar.
names(precip)=month.name
precip_opt=precip>125 & precip<290
aptitud_precip=sum(precip_opt)
plot(aptitud_precip)
Se puede observar la gráfica de la suma de las precipitaciones optimas que para la caña de azúcar son entre 125 y 290 mm mensuales en los diferentes países del mundo en color verde (valor 12), a simple vista se puede decir que estas temperaturas al igual que en la gráfica anterior se encuentran mayormente en países con climas tropicales tales como america central y América del sur, como parte el continente africano y del asiático, sin embargo también se registran precipitaciones optimas en Canadá, parte de Europa e incluso en Dinamarca.
aptitudes=stack(aptitud_temp,aptitud_precip) #zonas aptas de los dos gráficos de aptitudes
names(aptitudes)=c("temp","precip")
plot(aptitudes)
En esta gráfica se observa a modo de comparación los lugares que tienen temperaturas y precipitaciones optimas para el cultivo de la Caña de Azúcar, y se resalta nuevamente que los países del trópico del mundo son los que tienen el mejor potencial para un cultivo exitoso.
Al observar los mapas anteriores se escogió los países de Camerún y Panamá, ya que al parecer cumplen con el potencial de temperatura y precipitación para un optimo cultivo de caña de azúcar. A continuación se analizarán los mapas de los dos países por separado para ver el comportamiento en detalle.
require(raster)
pos=global$REGION=="Middle Africa" #gráfica posición para Sur América
africa=global[pos,]
pos=africa$ADM0_NAME=="Cameroon" #gráfica posición para Sur América
cameroon=africa[pos,]
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
plot(aptitud_temp)
plot(cameroon,add=TRUE)
require(raster)
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
aptitud_temp_cam=crop(aptitud_temp,cameroon) #Datos se marcan al rededor de Colombia
aptitud_temp_cam_=mask(aptitud_temp_cam,cameroon) #datos marcados solo dentro del mapa de colombia
plot(aptitud_temp_cam_)
plot(cameroon,add=TRUE)
En este mapa de Camerún se puede ver como gran parte del país tiene las condiciones optimas de temperatura (22.5 - 28C°) para poder cultivar la caña de azúcar.
require(raster)
names(precip)=month.name
precip_opt=precip>125 & precip<290
aptitud_precip=sum(precip_opt)
aptitud_precip_cam=crop(aptitud_precip,cameroon) #Datos se marcan al rededor de Colombia
aptitud_precip_cam_=mask(aptitud_precip_cam,cameroon) #datos marcados solo dentro del mapa de colombia
plot(aptitud_precip_cam_)
plot(cameroon,add=TRUE)
En este mapa de Camerún se puede ver como gran parte del país tiene las condiciones optimas de precipitación (125 - 290 mm) para poder cultivar la caña de azúcar. Aunque las áreas optimas (color verde) no son tan extensas como el mapa anterior aún asi se logra ver buenas precipitación cerca al lado sur y este del pais.
aptitudes=stack(aptitud_temp_cam_,aptitud_precip_cam_) #zonas aptas de los dos gráficos de aptitudes
names(aptitudes)=c("temp cam","precip cam")
plot(aptitudes)
plot(cameroon,add=TRUE)
require(raster)
pos=global$REGION=="Central America" #gráfica posición para Sur América
cen_america=global[pos,]
pos=cen_america$ADM0_NAME=="Panama" #gráfica posición para Sur América
panama=cen_america[pos,]
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
plot(aptitud_temp)
plot(panama,add=TRUE)
require(raster)
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
aptitud_temp_pan=crop(aptitud_temp,panama) #Datos se marcan al rededor de Colombia
aptitud_temp_pan_=mask(aptitud_temp_pan,panama) #datos marcados solo dentro del mapa de colombia
plot(aptitud_temp_pan_)
plot(panama,add=TRUE)
En este mapa de Panamá se puede ver como gran parte del país tiene las condiciones optimas de temperatura (22.5 - 28C°) para poder cultivar la caña de azúcar.
require(raster)
names(precip)=month.name
precip_opt=precip>125 & precip<290
aptitud_precip=sum(precip_opt)
aptitud_precip_pan=crop(aptitud_precip,panama) #Datos se marcan al rededor de Colombia
aptitud_precip_pan_=mask(aptitud_precip_pan,panama) #datos marcados solo dentro del mapa de colombia
plot(aptitud_precip_pan_)
plot(panama,add=TRUE)
En este mapa de Panamá se puede ver como gran parte del país tiene aparentemente las condiciones optimas de precipitación (125 - 290 mm) para poder cultivar la caña de azúcar. Aunque las áreas optimas (color verde) no son tan extensas como el mapa anterior aún asi se logra ver buenas precipitación cerca de la frontera Panamá y Colombia expecíficamente en el noreste del pais.
aptitudes=stack(aptitud_temp_pan_,aptitud_precip_pan_) #zonas aptas de los dos gráficos de aptitudes
names(aptitudes)=c("temp pan","precip pan")
plot(aptitudes)
plot(panama,add=TRUE)
aptitudes=stack(aptitud_temp,aptitud_precip)
optisum=sum(aptitudes)
plot(optisum)
col1=global$REGION=="South America"
sur_america=global[col1,]
col2=sur_america$ADM0_NAME=="Colombia"
colombia=sur_america[col2,]
plot(colombia)
plot(optisum,add=TRUE)
loc=cbind(-76.87761392397007,3.7594148282739326)
loc2=cbind(-76.01304606070426,4.000273460164259)
points(loc,col="blue",pch=16)
points(loc2,col="red",pch=16)
loc=cbind(-74,3) #coordenadas
plot(aptitud_temp_cam)
points(loc,col="red",pch=16)
require(raster)
require(rgdal)
require(sp)
pos=global$REGION=="South America" #gráfica posición para Sur América
sur_america=global[pos,]
pos=sur_america$ADM0_NAME=="Colombia" #gráfica posición para Sur América
colombia=sur_america[pos,]
mapas=list.files("C:/Users/usuario/Desktop/Statistiques/Data/imtemp/",full.names = TRUE)
Temperatura=stack(mapas)
Temperatura_col=crop(Temperatura,colombia)
Temperatura_col=mask(Temperatura_col,colombia)
lock=cbind(-74,3) #coordenadas
plot(Temperatura_col)
points(lock,col="red",pch=16)
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
loc=cbind(-76.87761392397007,3.7594148282739326)
plot(aptitud_temp)
points(loc,col="blue",pch=16)
extract(aptitud_temp,loc)
##
## 12
serie_temp_=extract(aptitud_temp,loc)
serie_temp_
##
## 12
plot(serie_temp_[1:3],type="b")
names(temps)=month.name
temp_opt=temps>22.5 & temps<28
aptitud_temp=sum(temp_opt)
loc2=cbind(-76.01304606070426,4.000273460164259)
plot(aptitud_temp)
points(loc2,col="red",pch=16)
extract(aptitud_temp,loc)
##
## 12
serie_temp_1=extract(aptitud_temp,loc2)
serie_temp_1
##
## 0
plot(serie_temp_1[1:3],type="b")
names(precip)=month.name
precip_opt=precip>125 & precip<290
aptitud_precip=sum(precip_opt)
loc2=cbind(-76.01304606070426,4.000273460164259)
plot(aptitud_precip)
points(loc2,col="red",pch=16)
extract(aptitud_precip,loc)
##
## 2
serie_precip_1=extract(aptitud_precip,loc2)
serie_precip_1
##
## 7
plot(serie_precip_1[1:3],type="b")