Preguntas:

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.

Desarrollo

1). Análisis exploratorio

a.

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.

b.

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.

2).

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.

Análisis Bivariado de los Datos

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.

b.

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.