Dos tipos de moluscos A y B fueron sometidos a tres concentraciones distintas de agua de mar (100%, 75%, 50%) y se observo el consumo de oxigeno midiendo la proporcion de O2 por unidad peso seco del molusco
A.Realice un analisis exploratorio que permita conocer como es el consumo de oxigeno en las distintas concentraciones de agua de mar, y si estas conclusiones son las mismas para cada tipo de molusco
load("E:/Data Science/Estadistica/moluscos.RData")
Moluscos <- BD_moluscos
head(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 |
promedio=mean(Moluscos$cons_o,na.rm=TRUE)
desviacion=sd(Moluscos$cons_o,na.rm=TRUE)
pos50=which(Moluscos$c_agua=='50')
conc50=Moluscos[pos50,]
promedio50=mean(conc50$cons_o)
pos75=which(Moluscos$c_agua=='75')
conc75=Moluscos[pos75,]
promedio75=mean(conc75$cons_o)
pos100=which(Moluscos$c_agua=='100')
conc100=Moluscos[pos100,]
promedio100=mean(conc100$cons_o)
data.frame(promedio50,promedio75,promedio100)
| promedio50 | promedio75 | promedio100 |
|---|---|---|
| 12.25062 | 6.9925 | 8.67125 |
data.frame(promedio,desviacion)
| promedio | desviacion |
|---|---|
| 9.304792 | 3.682652 |
require(ggplot2)
require(plotly)
p=ggplot(data = Moluscos,mapping = aes(x=cons_o)) +geom_histogram()+ggtitle("Figura 1. Histograma de consumo de oxigeno")+theme_bw()
ggplotly(p)
El promedio de consumo de oxigeno es de 9,3 por unidad de peso, de acuerdo a la concentración de agua el menor consumo se presenta en concentración del 75%, seguido del 100% y siendo el consumo mas alto en la concentración del 50%
De acuerdo a los siguientes gráficos se observa que se presentan valores de consumo de oxigeno menores en el molusco B, siendo la concentracion de agua de 75% en la que se presentan los menores valores. El molusco A presenta mayor consumo de oxigeno presentando su mayor valor en la concentracion de agua de 50%
Moluscos$molusco <- as.factor(Moluscos$molusco)
Moluscos$c_agua <- as.factor(Moluscos$c_agua)
par(mfrow=c(2,2))
g1<-ggplot(data = Moluscos,mapping = aes(x=c_agua,y=cons_o,colour=molusco))+geom_point()+geom_smooth()+ggtitle("Figura 2. Relación Concentración de agua VS COnsumo de Oxigeno por Molusco")+theme_bw()
ggplotly(g1)
g2=ggplot(Moluscos, aes(y=cons_o, x=c_agua, fill= molusco)) +
geom_boxplot()+ xlab("Tipo Molusco")+ ylab("consumo oxígeno")+
ggtitle("Figura 3. Grafico de cajas x Concentracion y Molusco")+facet_grid(~c_agua[1])
ggplotly(g2)
interaction.plot(
x.factor = Moluscos$c_agua,
trace.factor = Moluscos$molusco,
response = Moluscos$cons_o,
fun = median,
ylab = "Consumo de Oxigeno",
xlab = "COncentracion de Agua",
trace.label = "Tipo de Molusco",
col = c("red", "blue"),
lyt = 1,
lwd = 3
)
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
Modelo 1
Mod_Moluscos=lm(cons_o~c_agua+molusco+c_agua:molusco, data = Moluscos)
summary(Mod_Moluscos)
##
## Call:
## lm(formula = cons_o ~ c_agua + molusco + c_agua:molusco, data = Moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.946 -1.736 -0.710 2.237 6.625
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.1750 1.0466 11.633 1.02e-14 ***
## c_agua75 -4.2850 1.4800 -2.895 0.00599 **
## c_agua100 -2.2387 1.4800 -1.513 0.13787
## moluscoB 0.1513 1.4800 0.102 0.91909
## c_agua75:moluscoB -1.9462 2.0931 -0.930 0.35777
## c_agua100:moluscoB -2.6813 2.0931 -1.281 0.20722
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.96 on 42 degrees of freedom
## Multiple R-squared: 0.4226, Adjusted R-squared: 0.3539
## F-statistic: 6.149 on 5 and 42 DF, p-value: 0.0002324
anova(Mod_Moluscos)
| Df | Sum Sq | Mean Sq | F value | Pr(>F) | |
|---|---|---|---|---|---|
| c_agua | 2 | 230.81603 | 115.408015 | 13.1711674 | 0.0000363 |
| molusco | 1 | 23.22692 | 23.226919 | 2.6508179 | 0.1109762 |
| c_agua:molusco | 2 | 15.35629 | 7.678144 | 0.8762833 | 0.4237999 |
| Residuals | 42 | 368.01116 | 8.762170 | NA | NA |
se crea un modelo con interaccion entre las variables “concentracion de agua” y “tipo de molusco”, asi se encuentra que el tipo de molusco no presenta significancia y a su vez entre la concentracion de agua es la de 50% la que presenta significancia para el modelo.
de acuerdo con el valor R2=0,4226 el modelo obtenido da respuesta al 42,3% del consumo de oxigeno por parte de los moluscos.
#Post Anova
require(agricolae)
comp=LSD.test(Mod_Moluscos,"c_agua")
comp
## $statistics
## MSerror Df Mean CV t.value LSD
## 8.762171 42 9.304792 31.8126 2.018082 2.112028
##
## $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.177821 10.164679 3.68 14.0 6.140 8.595 10.5750
## 50 12.25062 3.199643 16 10.757196 13.744054 6.38 18.8 10.085 11.455 14.5000
## 75 6.99250 2.804093 16 5.499071 8.485929 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"
Modelo 2
Mod_Moluscos2=lm(cons_o~c_agua:molusco, data = Moluscos)
summary(Mod_Moluscos2)
##
## Call:
## lm(formula = cons_o ~ c_agua:molusco, data = Moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.946 -1.736 -0.710 2.237 6.625
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.4063 1.0466 7.077 1.13e-08 ***
## c_agua50:moluscoA 4.7687 1.4800 3.222 0.00246 **
## c_agua75:moluscoA 0.4837 1.4800 0.327 0.74541
## c_agua100:moluscoA 2.5300 1.4800 1.709 0.09476 .
## c_agua50:moluscoB 4.9200 1.4800 3.324 0.00185 **
## c_agua75:moluscoB -1.3113 1.4800 -0.886 0.38069
## c_agua100:moluscoB NA NA NA NA
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.96 on 42 degrees of freedom
## Multiple R-squared: 0.4226, Adjusted R-squared: 0.3539
## F-statistic: 6.149 on 5 and 42 DF, p-value: 0.0002324
comp2=LSD.test(Mod_Moluscos,c("c_agua","molusco"))
comp2
## $statistics
## MSerror Df Mean CV t.value LSD
## 8.762171 42 9.304792 31.8126 2.018082 2.986858
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none c_agua:molusco 6 0.05
##
## $means
## cons_o std r LCL UCL Min Max Q25 Q50 Q75
## 100:A 9.93625 2.747976 8 7.824222 12.048278 6.78 14.00 7.9850 9.295 11.7250
## 100:B 7.40625 2.844076 8 5.294222 9.518278 3.68 11.60 5.7225 6.140 10.1000
## 50:A 12.17500 3.090178 8 10.062972 14.287028 9.74 18.80 10.3100 11.110 12.5000
## 50:B 12.32625 3.517909 8 10.214222 14.438278 6.38 17.70 10.0575 12.850 14.5000
## 75:A 7.89000 2.739578 8 5.777972 10.002028 5.20 13.20 6.0775 7.180 8.8925
## 75:B 6.09500 2.739108 8 3.982972 8.207028 1.80 9.96 4.8300 5.595 7.3425
##
## $comparison
## NULL
##
## $groups
## cons_o groups
## 50:B 12.32625 a
## 50:A 12.17500 a
## 100:A 9.93625 ab
## 75:A 7.89000 bc
## 100:B 7.40625 bc
## 75:B 6.09500 c
##
## attr(,"class")
## [1] "group"
Modelo 3
Mod_Moluscos3=lm(cons_o~c_agua, data = Moluscos)
summary(Mod_Moluscos3)
##
## Call:
## lm(formula = cons_o ~ c_agua, data = 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_agua75 -5.2581 1.0627 -4.948 1.09e-05 ***
## c_agua100 -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