###A.
se realizara un anilisis exploratorio para observar la relacion entre el consumo de oxigeno y las distintas concentraciones de agua de mar en dos tipos u/ o especies de moluscos.
Primero se realiza el llamdo a la tabla de moluscos
load("D:/Descargas/YDRAY-moluscos.RData")
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
attach(BD_moluscos)
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
segun los valores observados el la funcion summary y taply podemos destacar que los promedios de consumo de ox?geno para las 3 concentraciones de agua son de 12.2, 6.99 y 8.67 respectivamente.
Los promedios de consumo de ox?geno para los tipos de moluscos son 10 para molusco A, y 8.6 consumo de ox?geno para el tipo B.
require(ggplot2)
## Loading required package: ggplot2
require(Tidyverse)
## Loading required package: Tidyverse
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'Tidyverse'
ggplot(data=BD_moluscos,aes(x=c_agua,y=cons_o, colour=molusco))+geom_point()+geom_smooth()+facet_grid(~molusco)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : pseudoinverse used at 49.75
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : neighborhood radius 50.25
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : reciprocal condition number 3.0071e-017
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : There are other near singularities as well. 2525.1
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : pseudoinverse used at
## 49.75
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : neighborhood radius
## 50.25
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : reciprocal condition
## number 3.0071e-017
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : There are other near
## singularities as well. 2525.1
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : pseudoinverse used at 49.75
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : neighborhood radius 50.25
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : reciprocal condition number 3.0071e-017
## Warning in simpleLoess(y, x, w, span, degree = degree, parametric =
## parametric, : There are other near singularities as well. 2525.1
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : pseudoinverse used at
## 49.75
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : neighborhood radius
## 50.25
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : reciprocal condition
## number 3.0071e-017
## Warning in predLoess(object$y, object$x, newx = if
## (is.null(newdata)) object$x else if (is.data.frame(newdata))
## as.matrix(model.frame(delete.response(terms(object)), : There are other near
## singularities as well. 2525.1
en esta grafica se observa los promedios de los datos del proceso anterior, donde en el eje y se observa el consumo de ox?geno, en el eje x la concentraci?n de agua de mar.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.
###b.
regresion y anova
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
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
Los resultados del primer modelo podemos observar que los moluscos tipo A tienen un valor p significativo. Los moluscos tipo B no poseen un valor de p significativo.
Lo cual nos lleva a realizar una prueba anova, este no cumple con el valor p significativo, por lo tanto no es necesario hacer un postanova ya que no existe diferencias en el modelo.
####Segundo modelo: consumo de ox?geno vs 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
Se observan diferencias en el segundo modelo y se realizara una pruba postanova.
###Postanova segundo modelo
require(agricolae)
## Loading required package: agricolae
PA=LSD.test(mod2,"c_agua_")
PA
## $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"
Se pueden observar los intervalos de confianza para las concentraciones de agua de mar.No hay diferencia significativa cuando varia el porcentajes de concentraci?n de agua.
###2.
En este analisis podemos identificar las relaciones entre producci?n de Biomasa en funci?n de las otras covariables salinidad, zinc, pH y potasio.
Se realiza el llamado a la base de datos salinidad
load("D:/Descargas/YDRAY-Salinidad.RData")
attach(Salinidad)
## The following object is masked _by_ .GlobalEnv:
##
## Salinidad
cor(Biomasa,Salinidad)
## Biomasa pH Salinidad Zinc Potasio
## [1,] 1 0.9281023 -0.06657756 -0.7814625 -0.07319518
Podemos observar que segun el analisis que variables Zinc y pH son negativa y positiva respectivamente y la Salinidad y el Potasio tienen poca relacion con la biomasa.
###B.
A pesar de las pruebas anteriores se reliza esta regresion multiple para observar la tendencia de las covariables
mod=lm(Biomasa~pH+Salinidad+Zinc+Potasio,data=Salinidad)
summary(mod)
##
## Call:
## lm(formula = Biomasa ~ pH + Salinidad + Zinc + 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 ***
## Salinidad -33.4997 8.6525 -3.872 0.000391 ***
## Zinc -28.9727 5.6643 -5.115 8.20e-06 ***
## 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 observa que las covariables pH, Salinidad, Zinc son significativos por lo tanto afectan a la biomasa, encambiO la variable potasio no posee un valor p significativo, por locual no genera un efecto en la biomasa.