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.
Como primer punto, se verifica que la base de datos contiene el item molusco en segundo orden de columna y visualmente queremos que este en primera posición de columna
load("C:/Users/pocho/Downloads/moluscos.RData")
require(ggplot2)
## Loading required package: ggplot2
require(plotly)
## Loading required package: plotly
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
head(BD_moluscos)
| c_agua | molusco | cons_o |
|---|---|---|
| 100 | A | 7.16 |
| 100 | A | 8.26 |
| 100 | A | 6.78 |
| 100 | A | 14.00 |
| 100 | A | 13.60 |
| 100 | A | 11.10 |
Entonces se realizará el paso de la segunda columna hacia la primera, quedando como orden definitivo molusco, c_agua, cons_o
par= data.frame(c(BD_moluscos[,2],BD_moluscos[,1],BD_moluscos[,3]))
moluscos=par
head(moluscos)
| molusco | c_agua | cons_o |
|---|---|---|
| A | 100 | 7.16 |
| A | 100 | 8.26 |
| A | 100 | 6.78 |
| A | 100 | 14.00 |
| A | 100 | 13.60 |
| A | 100 | 11.10 |
Para realizar el análisis del consumo de oxígeno en las distintas concentraciones de agua de mar se va a segmenta el análisis según los datos del molusto A y el molusco B
pos1=which(moluscos$molusco == "A")
molusA=moluscos[pos1,]
head(molusA)
| molusco | c_agua | cons_o |
|---|---|---|
| A | 100 | 7.16 |
| A | 100 | 8.26 |
| A | 100 | 6.78 |
| A | 100 | 14.00 |
| A | 100 | 13.60 |
| A | 100 | 11.10 |
Ahora de manera genera se mirará cada uno de los consumos de oxígeno en la concentración de agua de mar (100, 75 y 50)
molusA$c_agua = as.character(molusA$c_agua)
ggma=ggplot(data=molusA,mapping = aes(x=c_agua, y= cons_o, color=c_agua))+geom_boxplot()+theme_bw()
ggplotly(ggma)
Validando rapidamente la gráfica, se puede observar que el consumo de oxígeno es mayor cuando hay una menor concentración de agua salada
Vamos a análizar cada una de las concentraciones de agua de sal para el Molusco A
posma1=which(molusA$c_agua == 100)
mac100=molusA[posma1,]
s1=summary(mac100$cons_o)
s1
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.780 7.985 9.295 9.936 11.725 14.000
ggma100= ggplot(data=mac100,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggma100)
Bajo una concentración de 100% tenemos los siguientes análisis Min: 6.780 Mean: 9.936 Max: 14.000
posma2=which(molusA$c_agua == 75)
mac75=molusA[posma2,]
s2=summary(mac75$cons_o)
s2
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.200 6.077 7.180 7.890 8.893 13.200
ggma75= ggplot(data=mac75,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggma75)
Bajo una concentración de 75% tenemos los siguientes análisis Min: 5.200 Mean: 7.890 Max: 13.200
posma3=which(molusA$c_agua == 50)
mac50=molusA[posma3,]
s3=summary(mac50$cons_o)
s3
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.74 10.31 11.11 12.18 12.50 18.80
ggma50= ggplot(data=mac50,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggma50)
Bajo una concentración de 75% tenemos los siguientes análisis Min: 9.74 Mean: 12.18 Max: 18.80
En definitiva tenemos los siguientes datos:
##100%
s1
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.780 7.985 9.295 9.936 11.725 14.000
##75%
s2
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.200 6.077 7.180 7.890 8.893 13.200
##50%
s3
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.74 10.31 11.11 12.18 12.50 18.80
Teniendo en cuenta lo anterior, podemos concluir que efectivamente existe una proporcion negartiva, en la cual al disminuir la concentración de agua salada aumenta el concentración de oxígeno para el molusco A
pos2=which(moluscos$molusco == "B")
molusB=moluscos[pos2,]
head(molusB)
| molusco | c_agua | cons_o | |
|---|---|---|---|
| 9 | B | 100 | 6.14 |
| 10 | B | 100 | 6.14 |
| 11 | B | 100 | 3.68 |
| 12 | B | 100 | 10.00 |
| 13 | B | 100 | 10.40 |
| 14 | B | 100 | 11.60 |
Ahora de manera genera se mirará cada uno de los consumos de oxígeno en la concentración de agua de mar (100, 75 y 50)
molusB$c_agua = as.character(molusB$c_agua)
ggmb=ggplot(data=molusB,mapping = aes(x=c_agua, y= cons_o, color=c_agua))+geom_boxplot()+theme_bw()
ggplotly(ggmb)
Validando rapidamente la gráfica, se puede observar que el consumo de oxígeno es mayor cuando hay una menor concentración de agua salada
Vamos a análizar cada una de las concentraciones de agua de sal para el Molusco B
posmb1=which(molusB$c_agua == 100)
mbc100=molusB[posmb1,]
s4=summary(mbc100$cons_o)
s4
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.680 5.723 6.140 7.406 10.100 11.600
ggmb100= ggplot(data=mbc100,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggmb100)
Bajo una concentración de 100% tenemos los siguientes análisis Min: 3.680 Mean: 7.406 Max: 11.600
posmb2=which(molusB$c_agua == 75)
mbc75=molusB[posmb2,]
s5=summary(mbc75$cons_o)
s5
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.800 4.830 5.595 6.095 7.343 9.960
ggmb75= ggplot(data=mbc75,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggmb75)
Bajo una concentración de 75% tenemos los siguientes análisis Min: 1.800 Mean: 6.095 Max: 9.960
posmb3=which(molusB$c_agua == 50)
mbc50=molusB[posmb3,]
s6=summary(mbc50$cons_o)
s6
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.38 10.06 12.85 12.33 14.50 17.70
ggmb50= ggplot(data=mbc50,mapping = aes(x=c_agua, y=cons_o))+geom_boxplot()+theme_bw()
ggplotly(ggmb50)
Bajo una concentración de 75% tenemos los siguientes análisis Min: 6.38 Mean: 12.33 Max: 17.70
En definitiva tenemos los siguientes datos:
##100%
s4
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.680 5.723 6.140 7.406 10.100 11.600
##75%
s5
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.800 4.830 5.595 6.095 7.343 9.960
##50%
s6
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.38 10.06 12.85 12.33 14.50 17.70
Teniendo en cuenta lo anterior, podemos concluir que efectivamente existe una proporcion negartiva, en la cual al disminuir la concentración de agua salada aumenta el concentración de oxígeno para el molusco B
Para poder realizar los experimentos de la concentración de oxígeno se realizará un análisis bivariado de los datos:
g1=ggplot(data = moluscos, mapping = aes(x=c_agua,y=cons_o))+geom_point()+theme_bw()+geom_smooth(method = "lm")
ggplotly(g1)
## `geom_smooth()` using formula 'y ~ x'
Para continuar deseamos conocer que tanta correlación tienen estas dos variables
## Correlación de Pearson
cor(moluscos$c_agua,moluscos$cons_o)
## [1] -0.4009984
La correlacion de las dos variables para el molusco A y B es de un 40%, por el momento se realizá un modelo en base a estos datos pero, más adelante buscamremos mejorar esta corelacción.
MODELO INICIAL
Ahora, se realizará el primero modelo de regresión lineal simple para determinar su el r\(^2\)
mod_mol=lm(cons_o~c_agua, data = moluscos)
mod_mol
##
## Call:
## lm(formula = cons_o ~ c_agua, data = moluscos)
##
## Coefficients:
## (Intercept) c_agua
## 14.67385 -0.07159
La ecacuación de regresión es \[y=14.67385 + (-0.07159)\]
ESto quiere decir que el consumo de oxigeno de los moluscos A y B sin estimar la Concentración de agua de salada es de 14.67385 y cuando aumenta 1% disminuye el consumo de oxpigeno en 0.07159.
Ahora, para poder determinar que tanto el conusmo de oxígeno es explicado por la la concentración de agua salada se encontrara el r\(^2\) y determinar la significancia de los de los supuestos
summary(mod_mol)
##
## Call:
## lm(formula = cons_o ~ c_agua, data = moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.5048 -2.1248 -0.4748 2.3504 7.7055
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.67385 1.87425 7.829 5.29e-10 ***
## c_agua -0.07159 0.02411 -2.969 0.00473 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.41 on 46 degrees of freedom
## Multiple R-squared: 0.1608, Adjusted R-squared: 0.1426
## F-statistic: 8.814 on 1 and 46 DF, p-value: 0.004734
El valor de r\(^2\):0.1426, es decir que la variable explica en un 14,2% el modelo con un p-value: 0.004734, es decir que existe muy poca determinacion entre ambas variables y con el p-value se puede decir que se rechaza la hipótesis nula y que si existe una relacion entre estas variables.
Partiendo de este resultado es necesario realizar otro modelo utilizando la trasnformación para poder encontrar un el r\(^2\) más alto.
SEGUNDO MODELO
Para continuar deseamos conocer que tanta correlación tienen estas dos variables con una transformción logarítmica:
## Correlación de Pearson
cor(log(moluscos$c_agua),moluscos$cons_o)
## [1] -0.4428906
La correlacion de las dos variables para el molusco A y B con una trasnformación logarítmica para C_agua es de un 44%, mejorando 4 puntos inversos la correlacción.
Ahora, se realizará el segundo modelo de regresión lineal simple para determinar su el r\(^2\)
mod_mol2=lm(cons_o~log(c_agua), data = moluscos)
mod_mol2
##
## Call:
## lm(formula = cons_o ~ log(c_agua), data = moluscos)
##
## Coefficients:
## (Intercept) log(c_agua)
## 33.589 -5.676
La ecacuación de regresión es \[y=33.589 + (-5.676)\]
ESto quiere decir que el consumo de oxigeno de los moluscos A y B sin estimar la Concentración de agua de salada es de 33.589 y cuando aumenta 1% disminuye el consumo de oxpigeno en 5.676
Ahora, para poder determinar que tanto el conusmo de oxígeno es explicado por la la concentración de agua salada se encontrara el r\(^2\) y determinar la significancia de los de los supuestos
summary(mod_mol2)
##
## Call:
## lm(formula = cons_o ~ log(c_agua), data = moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.282 -1.916 -0.479 2.296 7.417
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.589 7.264 4.624 3.07e-05 ***
## log(c_agua) -5.676 1.694 -3.350 0.00162 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.337 on 46 degrees of freedom
## Multiple R-squared: 0.1962, Adjusted R-squared: 0.1787
## F-statistic: 11.22 on 1 and 46 DF, p-value: 0.00162
El valor de r\(^2\):0.1787, es decir que la variable explica en un 14,2% el modelo con un p-value: 0.00162, es decir que existe muy poca determinacion entre ambas variables y con el p-value se puede decir que se rechaza la hipótesis nula y que si existe una relacion entre estas variables.
Partiendo de este resultado vamos a realizar un modelo para cada molusco buscando mejorar los resultados
MODELO MOLUSCO A
Para continuar deseamos conocer que tanta correlación tienen estas dos variables
molusA$c_agua = as.numeric(molusA$c_agua)
## Correlación de Pearson
cor(molusA$c_agua,molusA$cons_o)
## [1] -0.2856287
La correlacion de las dos variables para el molusco A es de un 28%, por el momento se realizá un modelo en base a estos datos pero, más adelante buscamremos mejorar esta corelacción.
Ahora, se realizará el primero modelo de regresión lineal simple para determinar su el r\(^2\)
mod_mola=lm(cons_o~c_agua, data = molusA)
mod_mola
##
## Call:
## lm(formula = cons_o ~ c_agua, data = molusA)
##
## Coefficients:
## (Intercept) c_agua
## 13.35854 -0.04477
La ecacuación de regresión es \[y=13.35854 + (-0.04477)\]
ESto quiere decir que el consumo de oxigeno de los moluscos A sin estimar la Concentración de agua de salada es de 13.35854 y cuando aumenta 1% disminuye el consumo de oxpigeno en 0.04477.
Ahora, para poder determinar que tanto el conusmo de oxígeno es explicado por la la concentración de agua salada se encontrara el r\(^2\) y determinar la significancia de los de los supuestos
summary(mod_mola)
##
## Call:
## lm(formula = cons_o ~ c_agua, data = molusA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.8004 -1.8160 -0.3148 1.1390 7.6802
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.35854 2.48955 5.366 2.18e-05 ***
## c_agua -0.04477 0.03203 -1.398 0.176
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.203 on 22 degrees of freedom
## Multiple R-squared: 0.08158, Adjusted R-squared: 0.03984
## F-statistic: 1.954 on 1 and 22 DF, p-value: 0.1761
El valor de r\(^2\):0.03984, es decir que la variable explica en un 14,2% el modelo con un p-value: 0.1761, es decir que aumenta la determinacion entre ambas variables y con el p-value se puede decir que se no rechaza la hipótesis nula y que no existe una relacion entre estas variables.
Partiendo de este resultado es necesario realizar otro modelo utilizando la trasnformación para poder encontrar un el r\(^2\) más alto.
SEGUNDO MODELO MOLUSCO A
Para continuar deseamos conocer que tanta correlación tienen estas dos variables con una transformción logarítmica:
## Correlación de Pearson
cor(log(molusA$c_agua),molusA$cons_o)
## [1] -0.3297986
La correlacion de las dos variables para el molusco A con una trasnformación logarítmica para C_agua es de un 32%, mejorando 4 puntos inversos la correlacción.
Ahora, se realizará el segundo modelo de regresión lineal simple para determinar su el r\(^2\)
mod_mola2=lm(cons_o~log(c_agua), data = molusA)
mod_mola2
##
## Call:
## lm(formula = cons_o ~ log(c_agua), data = molusA)
##
## Coefficients:
## (Intercept) log(c_agua)
## 25.879 -3.711
La ecacuación de regresión es \[y=25.879 + (-3.711)\]
ESto quiere decir que el consumo de oxigeno de los moluscos A sin estimar la Concentración de agua de salada es de 25.879 y cuando aumenta 1% disminuye el consumo de oxpigeno en 3.711
Ahora, para poder determinar que tanto el conusmo de oxígeno es explicado por la la concentración de agua salada se encontrara el r\(^2\) y determinar la significancia de los de los supuestos
summary(mod_mola2)
##
## Call:
## lm(formula = cons_o ~ log(c_agua), data = molusA)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.6547 -1.7220 -0.3883 1.2330 7.4404
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 25.879 9.712 2.665 0.0142 *
## log(c_agua) -3.711 2.265 -1.639 0.1155
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.155 on 22 degrees of freedom
## Multiple R-squared: 0.1088, Adjusted R-squared: 0.06826
## F-statistic: 2.685 on 1 and 22 DF, p-value: 0.1155
El valor de r\(^2\):0.06826, es decir que la variable explica en un 14,2% el modelo con un p-value: 0.1155, es decir que existe muy poca determinacion entre ambas variables y con el p-value se puede decir que se no rechaza la hipótesis nula y que no existe una relacion entre estas variables.
CONCLUSIÓN DE LOS MODELOS Teniendo en cuenta que el modelo individual del molusco A por su p-value no rechaza la hipótesis nula, utilizaremos el segundo modelo donde se incluidan los datos de los moluscos A y B
mod_mol2
##
## Call:
## lm(formula = cons_o ~ log(c_agua), data = moluscos)
##
## Coefficients:
## (Intercept) log(c_agua)
## 33.589 -5.676
La ecacuación de regresión mas adecuada es: \[y=33.589 + (-5.676)\]
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.
ANOVA
anova= aov(mod_mol2)
##Datos del ANOVA
anova
## Call:
## aov(formula = mod_mol2)
##
## Terms:
## log(c_agua) Residuals
## Sum of Squares 125.0294 512.3810
## Deg. of Freedom 1 46
##
## Residual standard error: 3.337472
## Estimated effects may be unbalanced
## Summary del ANOVA
summary.aov(mod_mol2)
## Df Sum Sq Mean Sq F value Pr(>F)
## log(c_agua) 1 125.0 125.03 11.22 0.00162 **
## Residuals 46 512.4 11.14
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Otro ANOVA:
anova1= aov(moluscos$cons_o~moluscos$molusco)
##Datos del ANOVA1
anova1
## Call:
## aov(formula = moluscos$cons_o ~ moluscos$molusco)
##
## Terms:
## moluscos$molusco Residuals
## Sum of Squares 23.2269 614.1835
## Deg. of Freedom 1 46
##
## Residual standard error: 3.654014
## Estimated effects may be unbalanced
## Summary del ANOVA
summary.aov(anova1)
## Df Sum Sq Mean Sq F value Pr(>F)
## moluscos$molusco 1 23.2 23.23 1.74 0.194
## Residuals 46 614.2 13.35
##Prueba Tukey
TukeyHSD(anova1)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = moluscos$cons_o ~ moluscos$molusco)
##
## $`moluscos$molusco`
## diff lwr upr p adj
## B-A -1.39125 -3.514498 0.7319983 0.1937171
#el promedio del consumo de oxigeno entre el molusco A y el molusco B es 0.1937171