1). Dos tipos de moluscos A y B fueron sometidos a tres concentraciones distintas de agua de mar (100%, 75% y 50%) y se observó el consumo de oxígeno midiendo la proporción de O2 por unidad de peso seco del molusco.
a. Realice un análisis exploratorio que permita conocer como es el consumo de oxígeno en las distintas concentraciones de agua de mar. y si estas conclusiones son las mismas para cada tipo de molusco.
b. Estime el modelo de diseño de experimentos el cual permita evaluar el efecto de la concentración de agua de mar y los tipos de molusco sobre el consumo de oxigeno. Interprete los coeficientes del modelo, el valor p y realice un post anova de considerarlo necesario para los factores.
2). Para estudiar la relación entre ciertas características del suelo y la producción de biomasa (gr) de una planta forrajera natural se obtuvieron 45 muestras en diferentes ambientes, y en cada muestra se estimó la biomasa (respuesta Y) y se registraron las características (covariables X) del suelo en el que crecía (pH, Salinidad, Zinc y Potasio).
a. Realice un análisis de correlaciones que permita identificar de manera bivariada las relaciones entre las covariables y la respuesta (incluir coeficiente de correlación e interpretaciones).
b. Estime el modelo de regresión lineal múltiple para explicar la biomasa en función de las covariables e interprete el valor p, los coeficientes de las variables significativas y el coeficiente R2.
load("C:/Users/Valentina/Desktop/moluscos.RData")
load("moluscos.RData")
head(BD_moluscos)
## c_agua molusco cons_o
## 1 100 A 7.16
## 2 100 A 8.26
## 3 100 A 6.78
## 4 100 A 14.00
## 5 100 A 13.60
## 6 100 A 11.10
concentracion=as.character(BD_moluscos$c_agua)
concentracion
## [1] "100" "100" "100" "100" "100" "100" "100" "100" "100" "100" "100" "100"
## [13] "100" "100" "100" "100" "75" "75" "75" "75" "75" "75" "75" "75"
## [25] "75" "75" "75" "75" "75" "75" "75" "75" "50" "50" "50" "50"
## [37] "50" "50" "50" "50" "50" "50" "50" "50" "50" "50" "50" "50"
moluscos=as.character(BD_moluscos$molusco)
moluscos
## [1] "A" "A" "A" "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B" "B" "B" "A" "A" "A"
## [20] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B" "B" "B" "A" "A" "A" "A" "A" "A"
## [39] "A" "A" "B" "B" "B" "B" "B" "B" "B" "B"
Se puede observar que la base de datos BD_moluscos, contine tres variables que son: Concentración de agua (100%, 75% y 50%), tipo de molusco (A y B) y el consumo de oxígeno que tuvieron los moluscos según la concentración del agua.
load("moluscos.RData")
tapply(BD_moluscos$cons_o, BD_moluscos$molusco, mean,na.rm=TRUE)
## A B
## 10.000417 8.609167
tapply(BD_moluscos$cons_o, BD_moluscos$c_agua,mean,na.rm=TRUE)
## 50 75 100
## 12.25062 6.99250 8.67125
BD_moluscos$c_agua= as.factor(BD_moluscos$c_agua)
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.0.5
ggplot(BD_moluscos,aes(x=c_agua,y=cons_o, fill=molusco))+geom_boxplot()+ labs(x="Concentración del agua", y="Consumo de Oxígeno")+scale_fill_discrete(name = "Tipo de molusco")
Se puede observar que los moluscos, cuya concentración del agua estaban en un 50%, presentaron un mayor consumo de oxígeno comparado con las otras concentraciones de agua. Si se observa de manera individual según el tipo de moluscos, podemos concluir que el molusto A (10.0)presenta un mayor consumo de oxígeno que el molusco B (8.60). Con las concentraciones de agua al 75% y 100% se observa que el molusco tipo B tiene un connsumo de oxigeno menor, pero en la concentración del agua al 50% es mayor que el molusco A.
load("moluscos.RData")
require(ggplot2)
tapply(BD_moluscos$cons_o, BD_moluscos$molusco,mean)
## A B
## 10.000417 8.609167
grafico_1=ggplot(BD_moluscos, aes(y=cons_o, x=molusco, fill= molusco))+geom_boxplot()+theme_bw()+xlab("Tipo de molusco")+ylab("Consumo de oxígeno")+ggtitle("Consumo de oxígeno VS Tipo de molusco")
grafico_1
Se puede reafirmar que el consumo de oxígeno en general, fue mayor para el tipo de molusco A con un promedio de consumo de 10.000417 vs el molusco B que fue de 8.609167. También se puede observar que el molusco de tipo A tiene datos atípicos pero su variación es menor a la del molusco B quien presenta un menor consumo de oxígeno.
load("moluscos.RData")
modelo_1=lm(cons_o ~ molusco + c_agua, data = BD_moluscos)
anova(modelo_1)
## Analysis of Variance Table
##
## Response: cons_o
## Df Sum Sq Mean Sq F value Pr(>F)
## molusco 1 23.23 23.227 2.0427 0.159846
## c_agua 1 102.50 102.495 9.0139 0.004362 **
## Residuals 45 511.69 11.371
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo_1)
##
## Call:
## lm(formula = cons_o ~ molusco + c_agua, data = BD_moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.8092 -2.2945 -0.6798 2.8297 7.3011
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.36948 1.91620 8.021 3.22e-10 ***
## moluscoB -1.39125 0.97343 -1.429 0.15985
## c_agua -0.07159 0.02384 -3.002 0.00436 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.372 on 45 degrees of freedom
## Multiple R-squared: 0.1972, Adjusted R-squared: 0.1616
## F-statistic: 5.528 on 2 and 45 DF, p-value: 0.007132
En el análisis anova se puede observar que la concentración del agua puede afectar el consumo de oxígeno, es decir que la concentracion del agua a un 75% tiene una mayor afectación que la concentración del agua al 100% por lo que la concentración con 75% hace que presente una disminución en el consumo del oxígeno del -5.26 mientra que la concentración del agua al 100%, hace que su disminución sea de -3.57. Debido a que la diferencia entre estas dos variables no es tan significativa, se aconseja realizar un análisis post-anova.
load("moluscos.RData")
require(agricolae)
## Loading required package: agricolae
## Warning: package 'agricolae' was built under R version 4.0.5
Post_anova=LSD.test(modelo_1,"c_agua")
Post_anova
## $statistics
## MSerror Df Mean CV t.value LSD
## 11.37085 45 9.304792 36.24013 2.014103 2.401227
##
## $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
## 50 12.25062 3.199643 16 10.552701 13.948549 6.38 18.8 10.085 11.455 14.5000
## 75 6.99250 2.804093 16 5.294576 8.690424 1.80 13.2 5.200 6.430 8.7675
## 100 8.67125 3.000940 16 6.973326 10.369174 3.68 14.0 6.140 8.595 10.5750
##
## $comparison
## NULL
##
## $groups
## cons_o groups
## 50 12.25062 a
## 100 8.67125 b
## 75 6.99250 b
##
## attr(,"class")
## [1] "group"
Con este análisis post-anova, se puede observar que las concentraciones de agual del 100% y 75% no presentan una diferencia tan significativa y ambas concentraciones se agrupan a la categoría b, mientras que la concentración de agua del 50% tiene un mayor consumo de oxígeno y pertenece a la categoría A.
load("Salinidad (1).RData")
require(ggplot2)
Salinidad
## Biomasa pH Salinidad Zinc Potasio
## 1 765.280 5.00 33 16.4524 1441.67
## 2 954.017 4.70 35 13.9852 1299.19
## 3 827.686 4.20 32 15.3276 1154.27
## 4 755.072 4.40 30 17.3128 1045.15
## 5 896.176 5.55 33 22.3312 521.62
## 6 1422.836 5.50 33 12.2778 1273.02
## 7 821.069 4.25 36 17.8225 1346.35
## 8 1008.804 4.45 30 14.3516 1253.88
## 9 1306.494 4.75 38 13.6826 1242.65
## 10 1039.637 4.60 30 11.7566 1282.95
## 11 1193.223 4.10 30 9.8820 553.69
## 12 777.474 3.45 37 16.6752 494.74
## 13 818.127 3.45 33 12.3730 526.97
## 14 1203.568 4.10 36 9.4058 571.14
## 15 977.515 3.50 30 14.9302 408.64
## 16 369.823 3.25 30 31.2865 646.65
## 17 509.872 3.25 27 30.1652 514.03
## 18 448.315 3.20 29 28.5901 350.73
## 19 615.091 3.35 34 17.8795 496.29
## 20 545.538 3.30 36 18.5056 580.92
## 21 436.552 3.25 30 22.1344 535.82
## 22 465.907 3.25 28 28.6101 490.34
## 23 664.601 3.20 31 23.1908 552.39
## 24 502.466 3.20 31 24.6917 661.32
## 25 496.797 3.35 35 22.6758 672.12
## 26 2270.294 7.10 29 0.3729 525.65
## 27 2332.220 7.35 35 0.2703 563.13
## 28 2162.531 7.45 35 0.3205 497.96
## 29 2222.588 7.45 30 0.2648 458.38
## 30 2337.326 7.40 30 0.2105 498.25
## 31 1349.192 4.85 26 18.9875 936.26
## 32 1058.976 4.60 29 20.9687 894.79
## 33 1408.206 5.20 25 23.9841 941.36
## 34 1491.276 4.75 26 19.9727 1038.79
## 35 1254.872 5.20 26 21.3864 898.05
## 36 1152.341 4.55 25 23.7063 989.87
## 37 568.455 3.95 26 30.5589 951.28
## 38 612.447 3.70 26 26.8415 929.83
## 39 654.825 3.75 27 27.7292 925.42
## 40 991.829 4.15 27 21.5699 954.11
## 41 1895.942 5.60 24 19.6531 720.72
## 42 1346.880 5.35 27 20.3295 782.09
## 43 1482.793 5.50 26 19.5880 773.30
## 44 1145.643 5.50 28 20.1328 829.26
## 45 1137.193 5.40 28 19.2420 856.96
summary(Salinidad$Biomasa)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 369.8 654.8 991.8 1082.2 1346.9 2337.3
ggplot(Salinidad, aes(x=Biomasa))+geom_histogram()+ggtitle("Biomasa Obtenida")+ylab("Frecuencia")+xlab("Biomasa")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Se puede observar en el histograma una gran variedad de datos, cuyo valor mínimo es de 369.8 hasta los 2337.3 y la cantidad de biomasa obtenida oscila entre los 500 y 1500 y por último, se puede observar que la mediana (991.8) tiene un valor menor a la media (1082.2), demostrando que la asimetría es positiva de la distribución
load("C:/Users/Valentina/Desktop/Salinidad (1).RData")
load("Salinidad (1).RData")
summary(Salinidad$pH)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.200 3.450 4.450 4.609 5.350 7.450
ggplot(Salinidad, aes(x=pH))+geom_histogram(fill="orange",col="black")+ggtitle("Niveles de pH")+ylab("Frecuencia")+xlab("pH")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Este es el histograma de los niveles del pH, se puede observar que los niveles más bajos es de 3.2 y el pH más alto es de 7.45 indicandonos que hay una amplia variabilidad de niveles de pH. La mediana (4.45) y la media (4.6) son similares por lo que nos indica que que hay una simetría en la distribución. Y por último, se puede observar en el histograma una ausencia de datos en los niveles del pH entre ~5.7 - ~6.9 por lo que hay pocas muestras con un pH básico y la mayoría de datos tiene una escala de pH ácido.
load("Salinidad (1).RData")
summary(Salinidad$Salinidad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 24.00 27.00 30.00 30.27 33.00 38.00
ggplot(Salinidad, aes(x=Salinidad,))+geom_bar(fill="blue",col="black")+ggtitle("Niveles de Salinidad")+ylab("Frecuencia")+xlab("Salinidad")
Se puede observar que los datos de niveles de salinidad van desde 24 hasta 38, de igual manera que en el gráfico del pH tiene una gran variedad de datos, la mediana y la media tienen valores similares lo que nos indica que hay una simetría en la distribución
load("Salinidad (1).RData")
summary(Salinidad$Zinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.2105 13.9852 19.2420 17.8308 22.6758 31.2865
ggplot(Salinidad, aes(x=Zinc,))+geom_histogram(fill="red",col="black")+ggtitle("Niveles de Zinc")+ylab("Frecuencia")+xlab("Zinc")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Se puede observar que los niveles del Zinc van desde 0.2105 hasta los 31.2865 teniendo una amplia variabilidad de datos pero en este caso, los valores de la mediana y la media tienen una mayor diferencia a comparación de los histogramas ya vistos hasta ahora.La mediana está por los 19.2420 y la media está por los 17.8308 esto es igual a que la mediana > media y esto nos indica que la asimetría de la distribución es negativa.
load("Salinidad (1).RData")
summary(Salinidad$Potasio)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 350.7 527.0 773.3 797.4 954.1 1441.7
ggplot(Salinidad, aes(x=Potasio,))+geom_histogram(fill="green",col="black")+ggtitle("Niveles de Potasio")+ylab("Frecuencia")+xlab("Potasio")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
En este histograma nos muestra los niveles de potasio con una gran variedad de datos, donde el valor mínimo es de 350.7 hasta 1441.7, en cuanto a los valores de la mediana (773.3) y la media (797.4) si hay una diferencia pero como la mediana es menor que la media, significa que la asimetría en la distribución va a ser positiva.
load("Salinidad (1).RData")
ggplot(Salinidad, aes(x=pH, y=Biomasa))+geom_point(col="orange")
cor(x=Salinidad$Biomasa,y=Salinidad$pH)
## [1] 0.9281023
En esta gráfica, podemos observar que la correlación que es de 0.928 (es un nivel alto) por lo que el pH y la biomasa tienen un coeficiente de corralación positiva y alta. Entre más aumente el nivel de pH del mismo modo va a aumentar la biomasa, representando un comportamiento lineal.
load("Salinidad (1).RData")
ggplot(Salinidad, aes(x=Salinidad, y=Biomasa))+geom_point(col="blue")
cor(x=Salinidad$Biomasa,y=Salinidad$Salinidad)
## [1] -0.06657756
En este gráfico vemos que la salinidad y la producción de biomasa no representan una correlación. Los datos están distribuidos de manera aleatoria. El coeficiente de relacion es de -0.06. por lo que al aumentar o disminuir la salinidad, la biomasa va a presentar una variación independiente a estos cambios.
load("Salinidad (1).RData")
ggplot(Salinidad, aes(x=Zinc, y=Biomasa))+geom_point(col="red")
cor(x=Salinidad$Biomasa,y=Salinidad$Zinc)
## [1] -0.7814625
En este gráfico vemos la relación que tiene el Zinc y la biomasa.Su correlación es de -0.781, es una correlación negativa y alta por lo que a mayor cantidad de Zinc, menor es la cantidad de biomasa que se produce. También podemos observar que en el valor 0 del zinc, es donde se presentan las más altas cantidades de biomasa.
load("Salinidad (1).RData")
ggplot(Salinidad, aes(x=Potasio, y=Biomasa))+geom_point(col="green")
cor(x=Salinidad$Biomasa,y=Salinidad$Potasio)
## [1] -0.07319518
En esta gráfica la biomasa y el potasio, no presentan una correlación significativa ya que no hay ningúna línea recta ni tampoco hay una parabola ya que todos los datos están dispersos de manera aleatoria por toda la gráfica. La correlación tiene un valor de -0.0731 que es casi 0.
De manera de resúmen podemos observar que la mejor relación con la biomasa son los niveles pH ya que entre mayor sea el pH, mayor es la producción de biomasa. Con la cantidad de zinc podemos observar que: entre menor sea la cantidad de zinc en el suelo, mayor es el crecimmiento de la biomasa y ya el resto de las variables que son el potasio y la salinidad, presentan una dispersión muy alta de los datos por lo que no tienen una correlación con la biomasa significativa.
load("Salinidad (1).RData")
str(Salinidad)
## 'data.frame': 45 obs. of 5 variables:
## $ Biomasa : num 765 954 828 755 896 ...
## $ pH : num 5 4.7 4.2 4.4 5.55 5.5 4.25 4.45 4.75 4.6 ...
## $ Salinidad: int 33 35 32 30 33 33 36 30 38 30 ...
## $ Zinc : num 16.5 14 15.3 17.3 22.3 ...
## $ Potasio : num 1442 1299 1154 1045 522 ...
cor(Salinidad)
## Biomasa pH Salinidad Zinc Potasio
## Biomasa 1.00000000 0.92810235 -0.06657756 -0.78146249 -0.07319518
## pH 0.92810235 1.00000000 -0.04458851 -0.72046995 0.03236212
## Salinidad -0.06657756 -0.04458851 1.00000000 -0.42663388 -0.01963288
## Zinc -0.78146249 -0.72046995 -0.42663388 1.00000000 0.07877268
## Potasio -0.07319518 0.03236212 -0.01963288 0.07877268 1.00000000
grafica_3=pairs(Salinidad[,1:5])
grafica_3
## NULL
Por último podemos observar estas graficas de correlación y se puede analizar la relación de cada una de las varibales pH, Zinc, Salinidad y Potasio respecto a la varible Biomasa.
load("Salinidad (1).RData")
modelo_2= lm(Biomasa ~ pH + Zinc + Salinidad + Potasio, data = Salinidad)
summary(modelo_2)
##
## Call:
## lm(formula = Biomasa ~ pH + Zinc + Salinidad + Potasio, data = Salinidad)
##
## Residuals:
## Min 1Q Median 3Q Max
## -293.98 -88.83 -9.48 88.20 387.27
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1492.8076 453.6013 3.291 0.002091 **
## pH 262.8829 33.7304 7.794 1.51e-09 ***
## Zinc -28.9727 5.6643 -5.115 8.20e-06 ***
## Salinidad -33.4997 8.6525 -3.872 0.000391 ***
## Potasio -0.1150 0.0819 -1.404 0.167979
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 158.9 on 40 degrees of freedom
## Multiple R-squared: 0.9231, Adjusted R-squared: 0.9154
## F-statistic: 120 on 4 and 40 DF, p-value: < 2.2e-16
Se puede estimar que a medida que el pH va aumentando de nivel, la biomasa va incrementando en un 262.8829, en el caso del zinc, cuando este se incrementa de nivel, la biomasa va a disminuir en un -28.9727; algo similar va a pasar con la variable de salinidad, cuando esta aumenta, la biomasa disminuye en -33.4997. Estás tres variables demuestran una mayor significancia para la biomasa y ya el potasio no es significante y cuando este aumenta, la biomasa disminuye un -0.1150.
El \(R^2\) es igual a 0.9231 lo que significa que este modelo tiene un 92% de la variabilidad de loos datos.