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.
load("C:/Users/Natalia/Downloads/moluscos (1).RData")
data_moluscos= data.frame(BD_moluscos)
data_moluscos$c_agua= as.factor(data_moluscos$c_agua)
head(data_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
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
g1_moluscos=ggplot(data_moluscos,aes(x= c_agua, y=cons_o, fill=molusco))+ geom_boxplot()+ theme_bw()+ geom_point(position=position_jitterdodge(),alpha=0.3)+ ggtitle("Consentración de Oxigeno por Tipo de Molusco")+ scale_x_discrete("% Concentración de Agua de mar")+ scale_y_continuous("Consumo de Oxigeno")
g1_moluscos
range_agua <- ggplot(BD_moluscos, mapping=aes(y=cons_o, x=c_agua)) + geom_boxplot(varwidth = TRUE) + labs(title ="Concentración de oxigeno por Concentración de agua de mar", x="Concentración de agua de mar", y="Concentración Oxigeno")
ggplotly(range_agua)
## Warning: Continuous x aesthetic -- did you forget aes(group=...)?
Analisis: Se evidencia lo siguiente - En el rango 100% a 75% se observa un decrecimiento de oxigeno. - En el rango 75% o del 100% se evidencia un aumento de oxigeno con respecto al 50% - El 50% supera bastante la concentración de oxigeno de un 75% aun 100%
histo_tipo <- ggplot(data=BD_moluscos, aes(x=cons_o, fill=molusco)) +
geom_histogram(binwidth=3, position="dodge") + labs(title ="Niveles de oxigeno por tipo de moluscos", x="Concentración de oxigeno",
y="Conteo")
ggplotly(histo_tipo)
require(table1)
## Loading required package: table1
##
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
##
## units, units<-
table1(~c_agua+cons_o+molusco,data = data_moluscos)
| Overall (N=48) |
|
|---|---|
| c_agua | |
| 50 | 16 (33.3%) |
| 75 | 16 (33.3%) |
| 100 | 16 (33.3%) |
| cons_o | |
| Mean (SD) | 9.30 (3.68) |
| Median [Min, Max] | 9.70 [1.80, 18.8] |
| molusco | |
| A | 24 (50.0%) |
| B | 24 (50.0%) |
modelo_moluscos=lm(cons_o~c_agua+molusco, data = data_moluscos)
summary(modelo_moluscos)
##
## Call:
## lm(formula = cons_o ~ c_agua + molusco, data = data_moluscos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.1750 -1.9877 -0.7019 2.1244 6.1450
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.9463 0.8521 15.193 < 2e-16 ***
## c_agua75 -5.2581 1.0436 -5.038 8.49e-06 ***
## c_agua100 -3.5794 1.0436 -3.430 0.00132 **
## moluscoB -1.3913 0.8521 -1.633 0.10966
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.952 on 44 degrees of freedom
## Multiple R-squared: 0.3986, Adjusted R-squared: 0.3575
## F-statistic: 9.719 on 3 and 44 DF, p-value: 4.866e-05
Al ver el valor p de del modelo, logramos ver que la base (Intercepto), concentración de agua de 75% y 100% son Significativas, ya que son igual a cero. Por otro lado, el valor p del molusco b nos dice que no es significativo, ya que su valor p es mayor que el alfa de 0.05, por lo tanto no es significativo.
Anova
anova(modelo_moluscos)
## Analysis of Variance Table
##
## Response: cons_o
## Df Sum Sq Mean Sq F value Pr(>F)
## c_agua 2 230.82 115.408 13.2457 3.14e-05 ***
## molusco 1 23.23 23.227 2.6658 0.1097
## Residuals 44 383.37 8.713
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: Lo que nos dice el anova con el valor p es que la concentración de agua si es significativo al ser su valor cero. Por otro lado, nos muestra que el molusco no es significativo en el modelo, ya que su valor p es mayor que nuestro alfa de 0.05.
Postanova
attach(data_moluscos)
require(agricolae)
## Loading required package: agricolae
comparar_moluscos= LSD.test(modelo_moluscos,c("c_agua","molusco"))
comparar_moluscos
## $statistics
## MSerror Df Mean CV t.value LSD
## 8.712897 44 9.304792 31.72303 2.015368 2.974442
##
## $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.833002 12.039498 6.78 14.00 7.9850 9.295 11.7250
## 100:B 7.40625 2.844076 8 5.303002 9.509498 3.68 11.60 5.7225 6.140 10.1000
## 50:A 12.17500 3.090178 8 10.071752 14.278248 9.74 18.80 10.3100 11.110 12.5000
## 50:B 12.32625 3.517909 8 10.223002 14.429498 6.38 17.70 10.0575 12.850 14.5000
## 75:A 7.89000 2.739578 8 5.786752 9.993248 5.20 13.20 6.0775 7.180 8.8925
## 75:B 6.09500 2.739108 8 3.991752 8.198248 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"
load("C:/Users/Natalia/Downloads/Salinidad.RData")
data_salinidad= data.frame(Salinidad)
head(data_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
Analisis de correlación
attach(data_salinidad)
## The following object is masked _by_ .GlobalEnv:
##
## Salinidad
library(GGally)
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ggpairs(select_if(data_salinidad, is.numeric), lower = list(continuous = "smooth"),diag = list(continuous = "barDiag"), axisLabels = "none")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
cor(Biomasa,data_salinidad)
## Biomasa pH Salinidad Zinc Potasio
## [1,] 1 0.9281023 -0.06657756 -0.7814625 -0.07319518
Analisis: - Biomasa/Zinc (-0.781) La relación es inversa entre las variables - Biomasa/pH(0.928) Indica que si uno aumenta el otro tambien aumeta ya que existe una relacion fuerte entre ambos - Biomasa/Salinidad La relación es poco significativa enbtre las variables - Biomasa/Potasio La relación es poco significativa entre las variables
modelo_salinidad= lm(Biomasa~pH+Salinidad+Zinc+Potasio, data = data_salinidad)
summary(modelo_salinidad)
##
## Call:
## lm(formula = Biomasa ~ pH + Salinidad + Zinc + Potasio, data = 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
Analisis:
El pH, la Salinidad y el Zinc son significativos en el modelo ya que su valor es cero, el potacio con un valor p=0.167979 no es sinificativo
La biomasa es de un 92% la explican las variables ph, salinidad, zinc y potasio